SpringMVC文件上传原理及实现过程解析
更新时间:2020年07月15日 08:58:27 作者:jock_javaEE
这篇文章主要介绍了SpringMVC文件上传原理及实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一、文件上传的必要前提
- A form 表单的 enctype 取值必须是:multipart/form-data(默认值是:application/x-www-form-urlencoded) enctype:是表单请求正文的类型
- B method 属性取值必须是 Post
- C 提供一个文件选择域 input type=file
二、借助第三方组件实现文件上传
三、
/** * springmvc跨服务器上传文件 * @return */ @RequestMapping("/testFileUpload1") public String testFileUpload1(MultipartFile upload) throws IOException { System.out.println("跨服务器文件上传..."); // 定义上传文件服务器路径 String path = "http://localhost:9090/uploads/"; // 说明上传文件项 // 获取上传文件的名称 String filename = upload.getOriginalFilename(); // 把文件的名称设置唯一值,uuid String uuid = UUID.randomUUID().toString().replace("-", ""); filename = uuid+"_"+filename; // 创建客户端的对象 Client client = Client.create(); // 和图片服务器进行连接 WebResource webResource = client.resource(path + filename); // 上传文件 webResource.put(upload.getBytes()); return "success"; } /** * * 这里的upload必须与index.jsp的upload一致 * * springmvc文件上传 * @return */ @RequestMapping("/testFileUpload") public String testFileUpload(HttpServletRequest request, MultipartFile upload) throws IOException { // 使用fileupload组件完成文件上传 // 上传的位置(获取上传到服务器上的文件路径) String path = request.getSession().getServletContext().getRealPath("/uploads/"); // 判断,该路径是否存在 File file = new File(path); if(!file.exists()){ file.mkdir(); } // 说明上传文件项 // 获取上传文件的名称 String filename = upload.getOriginalFilename(); // 把文件的名称设置唯一值,uuid String uuid = UUID.randomUUID().toString().replace("-", ""); filename = uuid+"_"+filename; // 完成文件上传 upload.transferTo(new File(path,filename)); return "success"; }
四、在springmvc.xml配置文件解析器
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
SpringBoot使用Redis对用户IP进行接口限流的项目实践
本文主要介绍了SpringBoot使用Redis对用户IP进行接口限流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07实现一个基于Servlet的hello world程序详解步骤
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层2022-02-02mybatis foreach批量插入数据:Oracle与MySQL区别介绍
这篇文章主要介绍了,需要的朋友可以参考下2018-01-01Spring-boot原理及spring-boot-starter实例和代码
spring-boot的starter是一个通过maven完成自包含并通过annotation配置使得可被spring上下文发现并实例化的一个可插拔的组件或服务。这篇文章主要介绍了Spring-boot原理及spring-boot-starter实例和代码 ,需要的朋友可以参考下2019-06-06
最新评论