微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SpringMVC文件上传原理及实现过程解析

这篇文章主要介绍了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配置文件解析器

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐