SpringMVC上传文件
SpringMVC中上传文件还是比较方便的,Spring内置了一些上传文件的支持类,不需要复杂的操作即可上传文件。
文件上传需要两个jar支持,一个是commons-fileupload.jar和commons-io.jar。并且需要在springMVC的配置文件中加入支持文件上传的配置:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8" />
</bean>
可配置项还有maxuploadsize、uploadTempDir、maxInMemorySize等等。
jsp页面代码:
<body>
<form action="<%=path %>/upload" method="post" enctype="multipart/form-data">
文件:<input type="file" name="file" id="file" /><br/>
参数:<input type="text" name="param" id="param" /><br/>
<button type="submit">提交</button>
</form>
</body>
文件上传的controller代码:
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile; @Controller
public class UploadController{ @RequestMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file, HttpServletRequest request){
if(file.isEmpty()){
System.out.println("file is null---");
return null;
} try {
String fileName = file.getOriginalFilename();
fileName = new String(fileName.getBytes("iso8859-1"), "UTF-8"); //防止文件名中的中文乱码,进行utf-8转码 String newPath = request.getSession().getServletContext().getRealPath("upload"); //使用项目下的upload目录存放上传的文件
String param = request.getParameter("param"); //获取到表单提交的参数
System.out.println("param:"+param);
File newFile2 = new File(newPath);
if(!newFile2.exists()){
newFile2.mkdir();
}
File newFile = new File(newPath+File.separator+fileName);
file.transferTo(newFile); // 存储文件
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
SpringMVC上传文件的更多相关文章
- springmvc上传文件,抄别人的
		
SpringMVC中的文件上传 分类: SpringMVC 2012-05-17 12:55 26426人阅读 评论(13) 收藏 举报 stringuserinputclassencoding 这是 ...
 - 2. SpringMVC 上传文件操作
		
1.创建java web项目:SpringMVCUploadDownFile 2.在项目的WebRoot下的WEB-INF的lib包下添加如下jar文件 com.springsource.com.mc ...
 - 使用springMVC上传文件
		
control层实现功能: @RequestMapping(value="upload2") public String upLoad2(HttpServletRequest re ...
 - SpringMVC上传文件(图片)并保存到本地
		
SpringMVC上传文件(图片)并保存到本地 小记一波~ 基本的MVC配置就不展示了,这里给出核心代码 在spring-mvc的配置文件中写入如下配置 <bean id="multi ...
 - SpringMVC上传文件总结
		
如果是maven项目 需要在pom.xml文件里面引入下面两个jar包 <dependency> <groupId>commons-fileupload</groupId ...
 - SpringMVC 上传文件 MultipartFile 转为 File
		
在使用 SpringMVC 上传文件时,接收到的文件格式为 MultipartFile,但是在很多场景下使用都需要File格式的文件,记录下以便日后使用. 以下mFile为MultipartFile文 ...
 - springmvc 上传文件时的错误
		
使用springmvc上传文件一直失败,文件参数一直为null, 原来是配置文件没写成功. <bean id="multipartResolver" class=" ...
 - SpringMVC上传文件的三种方式(转)
		
直接上代码吧,大伙一看便知 这时:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/common ...
 - SpringMVC上传文件的三种方式
		
直接上代码吧,大伙一看便知 这时:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/common ...
 
随机推荐
- linux中软链接打包、计算以及同步
			
目录test中存在软连接: 1.打包,参数h(将实际文件进行打包): tar zcvfPh test.tar.gz test 2.计算大小,参数L(计算的是实际文件的大小): du -sL te ...
 - PHP常见方法
			
1.获取字符串长度: preg_match_all('/./us', $only, $match); echo count($match[0]); 2.Php除法取整 2.1.round — 对浮点数 ...
 - 【转】关于LWF——线性工作流
			
1.什么是LWF? LWF全称Linear Workflow,中文翻译为线性工作流.“工作流”在这里可以当作工作流程来理解.LWF就是一种通过调整图像Gamma值,来使得图像得到线性化显示的技术流程. ...
 - js根据className获取元素封装
			
虽然有了getElementsByClassName,但是ie低版本不支持,所以我们需要单独定义一个getByClass function getByClass(className,parent){ ...
 - 第五百八十二天 how can I 坚持
			
好吧,是我错了,昨天,做好自己就行了,别人怎么样是别人的事,永远保持一颗单纯向上的心. 时间过得真快,明天又周六了.. 睡觉.
 - JavaScript 基础(七) 箭头函数    generator  Date  JSON
			
ES6 标准新增了一种新的函数: Arrow Function(箭头函数). x => x *x 上面的箭头相当于: function (x){ return x*x; } 箭头函数相当于匿名函 ...
 - Hibernate对象的状态
			
站在持久化的角度, Hibernate 把对象分为 4 种状态: 1. 持久化状态 2. 临时状态 3. 游离状态 4. 删除状态 Session 的特定方法能使对象从一个状态转换到另一个状态. 下面 ...
 - Flat UI
			
Flat :平的; 单调的; 不景气的; 干脆的; 免费的WEB界面工具组件库
 - <img>标签
			
<img src="w3school.jpg" width="104" height="142" />注释:图像的名称和尺寸是以 ...
 - anyexec
			
http://www.codesec.net/view/420386.html http://www.cnblogs.com/qiyebao/p/5362101.html http://www.mon ...