SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
来源:互联网 发布:linux tar压缩文件夹 编辑:程序博客网 时间:2024/05/22 08:08
SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file
[html] view plain copy print?在CODE上查看代码片派生到我的代码片<!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver --> <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="UTF-8" p:maxUploadSize="5400000" p:uploadTempDir="fileUpload/temp" > </beans:bean>
或者
<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding"><value>UTF-8</value></property><property name="maxUploadSize"><value>32505856</value><!-- 上传文件大小限制为31M,31*1024*1024 --></property><property name="maxInMemorySize"><value>4096</value></property><property name="uploadTempDir" value="/tmp/"></property></bean>
其中属性详解:
defaultEncoding="UTF-8" 是请求的编码格式,默认为iso-8859-1
maxUploadSize="5400000" 是上传文件的大小,单位为字节
uploadTempDir="fileUpload/temp" 为上传文件的临时路径
二、创建一个简单的上传表单:
- <body>
- <h2>文件上传实例</h2>
- <form action="fileUpload.html" method="post" enctype="multipart/form-data">
- 选择文件:<input type="file" name="file">
- <input type="submit" value="提交">
- </form>
- </body>
注意要在form标签中加上enctype="multipart/form-data"表示该表单是要处理文件的,这是最基本的东西,很多人会忘记然而当上传出错后则去找程序的错误,却忘了这一点
三、编写上传控制类
1、创建一个控制类: FileUploadController和一个返回结果的页面list.jsp
2、编写提交表单的action:
- //通过Spring的autowired注解获取spring默认配置的request
- @Autowired
- private HttpServletRequest request;
- /***
- * 上传文件 用@RequestParam注解来指定表单上的file为MultipartFile
- *
- * @param file
- * @return
- */
- @RequestMapping("fileUpload")
- public String fileUpload(@RequestParam("file") MultipartFile file) {
- // 判断文件是否为空
- if (!file.isEmpty()) {
- try {
- // 文件保存路径
- String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/"
- + file.getOriginalFilename();
- // 转存文件
- file.transferTo(new File(filePath));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- // 重定向
- return "redirect:/list.html";
- }
- /***
- * 读取上传文件中得所有文件并返回
- *
- * @return
- */
- @RequestMapping("list")
- public ModelAndView list() {
- String filePath = request.getSession().getServletContext().getRealPath("/") + "upload/";
- ModelAndView mav = new ModelAndView("list");
- File uploadDest = new File(filePath);
- String[] fileNames = uploadDest.list();
- for (int i = 0; i < fileNames.length; i++) {
- //打印出文件名
- System.out.println(fileNames[i]);
- }
- return mav;
- }
3、使用SpringMVC注解RequestParam来指定表单中的file参数;
4、指定一个用于保存文件的web项目路径
5、通过MultipartFile的transferTo(File dest)这个方法来转存文件到指定的路径。
到此基本的文件上传就结束了。
MultipartFile类常用的一些方法:
String getContentType()//获取文件MIME类型
InputStream getInputStream()//后去文件流
String getName() //获取表单中文件组件的名字
String getOriginalFilename() //获取上传文件的原名
long getSize() //获取文件的字节大小,单位byte
boolean isEmpty() //是否为空
void transferTo(File dest) //保存到一个目标文件中。
四、多文件上传。
多文件上传其实很简单,和上传其他相同的参数如checkbox一样,表单中使用相同的名称,然后action中将MultipartFile参数类定义为数组就可以。
接下来实现:
1、创建一个上传多文件的表单:
- <body>
- <h2>上传多个文件 实例</h2>
- <form action="filesUpload.html" method="post"
- enctype="multipart/form-data">
- <p>
- 选择文件:<input type="file" name="files">
- <p>
- 选择文件:<input type="file" name="files">
- <p>
- 选择文件:<input type="file" name="files">
- <p>
- <input type="submit" value="提交">
- </form>
- </body>
2、编写处理表单的action,将原来保存文件的方法单独写一个方法出来方便共用:
public String methodname(MultipartHttpServletRequest request) {
List<MultipartFile> files = request.getFiles("files");
//然后是自己要对文件进行的处理
}
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- C语言({})表达式
- layer常用提示框用法
- c# 书
- 无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。
- C# 交替显示项的DataGird,鼠标上移时转变颜色,退出后能恢复原来颜色
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- 06毕业设计
- 06毕业设计
- 重写了loadView,一般用在什么地方
- C#邮件发送
- android 基于HTTPSWebview无法正常加载图片
- iOS开发——创建你自己的Framework
- 2007.08.23 C#工作随笔
- 2007.08.24 C#工作随笔