在使用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的支持。
- <!-- 这里申明的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";
- }
- }
- }
相关推荐
个人整理-SpringMVC上传文件的四种方法,汉jar包,含计时
springmvc上传文件controller,vue
springMVC 上传文件方式springMVC 上传文件方式springMVC 上传文件方式
springmvc上传文件所需jar包springmvc上传文件所需jar包 springmvc上传文件所需jar包
springmvc上传文件到ftp demo,将mmall.properties里面的ftp内容修改为自己的启动就行,建议使用idea
导入eclipse中,运行项目即可,上传文件限制不能超过2G,如果要修改则自己在springmvc.xml文件中修改配置
springMVC上传文件的三种解析方式源码。可以添加到tomcat直接运行,运行访问地址为:http://localhost:8080/SpringMVCUploadFileDemo/upload/toUploadFileView1
在使用springMVC进行系统实现时,springMVC默认的解析器里面是没有加入对文件上传的解析的,这可以方便我们实现自己的文件上传。但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的...
SpringMVC上传文件ie提示下载json文件解决方案
基于springmvc框架的上传文件程序,可运行,java开发语言
android+springmvc上传文件所需jar包包括安卓所需和服务器所需
springMVC上传文件所需要的jar包
由于需要我们需要在项目里自己写文件的上传和下载。这里分别有基于SpringMVC的上传和基于SSH的上传下载,欢迎下载。
前面弄得我认得文档,现在发现csdn上面不能上传同样的格式,就直接把word文档上传,内容包含上传文件的各个部分,有详细注释,适合刚学springMVC的去观看
struts,springMVC 上传文件需要的jar包 commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar
集合SpringMVC上传代码。代码简单易懂,适合初学者。纯上传代码,附上一些相关包。上传文件会根据类型自动建文件存放且生成随机名,存储在SESSION中。
jar包包含: com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.io-1.4.0.jar
springmvc带进度条上传源码