SpringMVC 菜鸟教程 3 文件上传 CommonsMultipartResolver
来源:互联网 发布:vb无符号整数 编辑:程序博客网 时间:2024/05/09 10:50
CommonsMultipartResolverUploadController
package com.jege.spring.mvc;import java.io.File;import java.util.Iterator;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpServletRequest;import org.springframework.web.multipart.commons.CommonsMultipartResolver;@Controllerpublic class CommonsMultipartResolverUploadController{ // http://localhost:8080/upload @RequestMapping(value = "/upload", method = RequestMethod.GET) public String uploadGet() { System.out.println("先以get的请求方式显示上传页面"); return "upload"; } int i = 0;// 简单改变上传文件的名字 @RequestMapping(value = "/upload", method = RequestMethod.POST) public String uploadPost(HttpServletRequest request) throws Exception { System.out.println("在以post请求方式处理上传的请求"); // 记录开始上传文件的时间 long startTime = System.currentTimeMillis(); String webapp = request.getServletContext().getRealPath("/upload"); System.out.println("上传文件保存到服务器webapp的路径:" + webapp); // 存放文件的路径 File deskFile = new File(webapp, "eclipse.zip"); System.out.println("上传文件存放的最终路径:" + deskFile.getAbsolutePath()); // 将当前上下文初始化给 CommonsMutipartResolver:配置上传文件解析器 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); // 检查form中是否有enctype="multipart/form-data",即是是否有文件上传 if (multipartResolver.isMultipart(request)) { // 将request变成多部件MultipartHttpServletRequest MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; // 获取multiRequest 中所有的文件名 Iterator<String> iter = multiRequest.getFileNames(); // 遍历所有文件 while (iter.hasNext()) { MultipartFile file = multiRequest.getFile(iter.next()); if (file != null) {// 处理上传 file.transferTo(deskFile); } } } // 添加提示信息 request.setAttribute("msg", "上传成功"); // 记录结束上传文件的时间 long endTime = System.currentTimeMillis(); System.out.println("上传究竟用了多少时间:" + String.valueOf(endTime - startTime) + "ms"); // 直接转发到upload.jsp return "upload"; }}
上传300MB文件耗时比较
- 使用CommonsMultipartResolver来保存上传的文件
先以get的请求方式显示上传页面
在以post请求方式处理上传的请求
上传究竟用了多少时间:261ms
第二次上传究竟用了多少时间:223ms
第三次上传究竟用了多少时间:276ms
其他关联项目
- SpringMVC 菜鸟教程 文件上传-配置
http://blog.csdn.net/je_ge/article/details/53725357 - SpringMVC-文件上传-MultipartFile
http://blog.csdn.net/je_ge/article/details/53726147
源码地址
https://github.com/je-ge/spring
如果觉得我的文章或者代码对您有帮助,可以请我喝杯咖啡。您的支持将鼓励我继续创作!谢谢!
0 0
- SpringMVC 菜鸟教程 3 文件上传 CommonsMultipartResolver
- SpringMVC 文件上传 MultipartFile、CommonsMultipartResolver
- SpringMVC中使用CommonsMultipartResolver进行文件上传
- SpringMVC中使用CommonsMultipartResolver上传文件实例
- SpringMVC使用CommonsMultipartResolver实现文件上传
- SpringMVC 菜鸟教程 1 文件上传 配置
- SpringMVC 菜鸟教程 2 文件上传 MultipartFile
- 使用SpringMvc的CommonsMultipartResolver上传文件(效率很高)
- Spring CommonsMultipartResolver 上传文件
- Spring CommonsMultipartResolver 上传文件
- CommonsMultipartResolver进行文件上传
- Spring CommonsMultipartResolver 上传文件
- 使用Spring CommonsMultipartResolver 上传文件
- 使用Spring CommonsMultipartResolver 上传文件
- 使用Spring CommonsMultipartResolver 上传文件
- 使用Spring CommonsMultipartResolver 上传文件
- 使用Spring CommonsMultipartResolver 上传文件
- 使用Spring CommonsMultipartResolver 上传文件
- 算法入门经典2 第3章解题报告
- 【Leetcode】477. Total Hamming Distance
- 求一个int数是否是4的幂
- python3 串口通讯
- MAC10.12Caps Lock失灵
- SpringMVC 菜鸟教程 3 文件上传 CommonsMultipartResolver
- 大话设计模式-工厂方法模式
- 滑膜控制的基本原理
- CSDN公式编辑
- 日常练习
- Redis集群之主从复制,读写分离(下)(六)
- Android开发——ListView使用技巧总结(一)
- 线程和fork
- [LeetCode]Search in Rotated Sorted Array I&II