SpringMVC上传文件的简单代码实例
来源:互联网 发布:mysql group by 多列 编辑:程序博客网 时间:2024/05/20 20:22
SpringMVC上传文件的简单实例
在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的applicationContext里面加上springMVC提供的MultipartResolver的申明。这样之后,客户端每次进行请求的时候,springMVC都会检查request里面是否包含多媒体信息,如果包含了就会使用MultipartResolver进行解析,springMVC会使用一个支持文件处理的MultipartHttpServletRequest来包裹当前的HttpServletRequest,然后使用MultipartHttpServletRequest就可以对文件进行处理了。Spring已经为我们提供了一个MultipartResolver的实现,我们只需要拿来用就可以了,那就是org.springframework.web.multipart.commons.CommsMultipartResolver。因为springMVC的MultipartResolver底层使用的是Commons-fileupload,所以还需要加入对Commons-fileupload.jar的支持。
Xml代码
<!-- 这里申明的id必须为multipartResolver --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- one of the properties available; the maximum file size in bytes --> <property name="maxUploadSize" value="100000"/> </bean>
CommonsMultipartResolver允许设置的属性有:
defaultEncoding:表示用来解析request请求的默认编码格式,当没有指定的时候根据Servlet规范会使用默认值ISO-8859-1。当request自己指明了它的编码格式的时候就会忽略这里指定的defaultEncoding。
uploadTempDir:设置上传文件时的临时目录,默认是Servlet容器的临时目录。
maxUploadSize:设置允许上传的最大文件大小,以字节为单位计算。当设为-1时表示无限制,默认是-1。
maxInMemorySize:设置在文件上传时允许写到内存中的最大值,以字节为单位计算,默认是10240。
下面是一个简单示例:.html文件
<html> <head> <title>Upload a file please</title> </head> <body> <h1>Please upload a file</h1> <!-- enctype(编码格式)必须为multipart/form-data --> <form method="post" action="/form" enctype="multipart/form-data"> <input type="text" name="name"/> <input type="file" name="file"/> <input type="submit"/> </form> </body> </html>
对应的action controller:
@Controller public class FileUpoadController { @RequestMapping(value = "/form", method = RequestMethod.POST) public String handleFormUpload(@RequestParam("name") String name, @RequestParam("file") MultipartFile file) { //MultipartFile是对当前上传的文件的封装,当要同时上传多个文件时,可以给定多个MultipartFile参数 if (!file.isEmpty()) { byte[] bytes = file.getBytes(); // store the bytes somewhere //在这里就可以对file进行处理了,可以根据自己的需求把它存到数据库或者服务器的某个文件夹 return "redirect:uploadSuccess"; } else { return "redirect:uploadFailure"; } } }原文地址:http://www.xz-src.com/4316.html
- SpringMVC上传文件的简单代码实例
- springMVC的简单文件上传
- SpringMVC基础及实例(二)文件上传简单实例
- SpringMVC上传文件实例
- springmvc文件上传代码
- SpringMVC配置,简单实例,文件上传与下载,ajax请求
- springMVC文件上传的简单配置
- 简单的文件上传代码
- SpringMVC 上传文件(超简单-5行代码)
- SpringMVC文件上传 多文件上传实例
- SpringMVC文件上传 多文件上传实例
- SpringMVC进行文件上传实例
- SpringMVC多文件上传实例
- SpringMVC Ajax上传文件实例
- php上传文件的简单实例
- 简单的php文件上传实例
- 简单的SpringMvc实例
- springmvc的文件上传
- [leetcode]128. Longest Consecutive Sequence
- java反射应用
- UVa 11059(枚举)
- windows 7安装CartoCss
- CS231n+assignment1(作业一)
- SpringMVC上传文件的简单代码实例
- 高效程序员的特征
- 《Keyword Search over RDF Graphs》——读书笔记
- Java实现-删除元素
- 用户体验总结
- 详解C#中的反射
- Java实现-删除链表中倒数第n个节点
- failed to find Build Tools revision 23.0.0 rc2 Install Build Tools 23.0.0 rc2 and sync project
- 价值感 愿景树立