spring MVC上传文件演示

//相比smartUpload功能上感觉确实有点心有意力不足的感觉,就安全性判断后缀,smartUpload就非常方便。
	public ModelAndView addFileUp(HttpServletRequest request,HttpServletResponse response) throws Exception {

		String preName = genName.doMake();//设置文件前缀名时间戳的MD5值
		String fileName = null; 	//路径+文件名+后缀
		String sucName	= null;		//最终名称
		String oldName = null;		//原始名称
        //使用MultipartHttpServletRequest包装文件数据
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        //构建图片保存的目录
        String logoPathDir = "/images/case/";
        //得到图片保存目录的真实路径
        String logoRealPathDir = request.getSession().getServletContext().getRealPath(logoPathDir);
        //根据真实路径创建目录
        File logoSaveFile = new File(logoRealPathDir);
        //判断组合的路径是否存在,不存在就创建
        if (!logoSaveFile.exists())
        {
        	logoSaveFile.mkdirs();
        }
        //页面控件的文件流,从页面上获取属性
        MultipartFile multipartFile = multipartRequest.getFile("cpic");
        // 获取文件名,即上传的原始文件名
        oldName = multipartFile.getOriginalFilename();
        System.out.println(multipartFile.getOriginalFilename());
        	 //计算文件名长度(不包含后缀)
            int index = oldName.lastIndexOf(".");
            //如果文件名称<0 则用preName作为文件名
            if (index == -1) {
            	sucName = preName;
            } else {
            //否则就用自己定义的
            	sucName = preName  + oldName.substring(index);
            }
            //设置属性值
            //拼成完整的文件保存路径加文件
            //得到的结果示范:d:\web\images\case\时间戳的MD5.gif
            fileName = logoRealPathDir + File.separator + sucName;
            File file = new File(fileName);
            try {
                    //保存上传文件
                    multipartFile.transferTo(file);
                    try {
                    	cases.setCtitle(request.getParameter("ctitle"));
                    	cases.setCurl(request.getParameter("curl"));
                    	cases.setCtime(ts);
                    	cases.setCcontext(request.getParameter("ccontext"));
                    	cases.setCpic("images/case/" + sucName);
                    	cases.setCtime(ts);
                		if (cases != null && !"".equals(cases)) {
                			casesBiz.doAdd(cases);
                			mv.addObject("casesMsg", "提示:案例 <b>[" + cases.getCtitle()+ "]</b> 添加完成!");
                		} else {
                			mv.addObject("casesMsg", "提示:案例 <b>[" + cases.getCtitle()+ "]</b> 添加失败!");
                		}
                    } catch (Exception e) {
                            // TODO: handle exception
                    		mv.addObject("casesMsg", "异常出现:"+e);
                    }

            } catch (Exception e) {
                    mv.addObject("casesMsg", "异常出现:"+e);
            }
        mv.setViewName("admin.do?method=cases");
		return mv;
}

XML

<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<!-- set the max upload size100MB -->
		<property name="maxUploadSize">
			<value>104857600</value>
		</property>
		<property name="maxInMemorySize">
			<value>4096</value>
		</property>
		<property name="defaultEncoding">
			<value>GBK</value>
		</property>
	</bean>

JAR文件下载地址:点击下载

时间: 2024-08-25 14:29:43

spring MVC上传文件演示的相关文章

spring mvc上传文件的简单例子总结及注意事项

1.创建maven项目         在pom.xml里面引入该依赖的jar包,pom.xm的代码如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven

Spring MVC上传文件

1.applicationContext.xml 1 <bean id="multipartResolver" 2 class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 3 <property name="maxUploadSize" value="104857600" /> 4 <property

spring mvc上传文件服务器配置

在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的.但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的applicationContext里面加上springMVC提供的MultipartResolver的申明.客户端每次进行请求的时候,springMVC都会检查request里面是否包含多媒体信息,如果包含了就会使用MultipartResolver进行解析,springMVC会使用一个支持文件处理的

spring mvc 上传文件

springmvc 上传文件步骤: 第一 拷贝所需jar 第二 需要在springmvc(springmvc-servlet.xml)中配置:SpringMVC上传文件时,需要配置MultipartResolver处理器 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">         <p

Spring Mvc 上传文件Demo 实例

返得利购物. 淘宝.京东500家商城合作,包括全面的商城返利网.注冊就送5元,购物就有返利.随时提现. 同学们,新一轮的返利大潮正在慢慢靠近,让购物都认为自己在赚钱.购物,机票.游戏.酒店旅游,地方特色,娱乐,尽在www.bbuy8.com让你购物省钱,省心.[群号:335156195] Controller 类 package com.upload.action; import java.io.File; import java.io.FileOutputStream; import java

Spring Boot 上传文件

1.上传文件 Spring Boot 上传文件也是使用 MultipartFile 类,和 Spring MVC 其实差不多,参考文章:https://www.cnblogs.com/jwen1994/p/11182923.html HTML <form enctype="multipart/form-data" method="post" action="/upload"> 文件:<input type="file&

关于MVC 上传文件

前台代码如下 @{ Layout = null; } <!DOCTYPE html> <html> <head> <title>Index</title> <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> <script t

springboot(十七):使用Spring Boot上传文件

上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个Spring Boot上传文件的小案例. 1.pom包配置 我们使用Spring Boot最新版本1.5.9.jdk使用1.8.tomcat8.0. <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>

Spring Boot(十七):使用 Spring Boot 上传文件

上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个 Spring Boot 上传文件的小案例. 1.pom 包配置 我们使用 Spring Boot 版本 2.1.0.jdk 1.8.tomcat 8.0. <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId&