首页 > 编程语言 > 详细

springmvc上传下载

时间:2019-03-31 16:28:03      阅读:167      评论:0      收藏:0      [点我收藏+]

上传

参考

  1. 导包
    xml <!--springmvc 上传--> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency>
  2. 配置文件
    xml <!--文件上传--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!--限制文件大小--> <property name="maxUploadSize" value="10485760"></property> <property name="defaultEncoding" value="UTF-8"></property> </bean>
  3. jsp页面
    html <html> <head> <title>上传</title> </head> <body> <%--使用post请求,enctype="multipart/form-data"--%> <form action="/upload.do" method="post" enctype="multipart/form-data"> <label>头像</label><input type="file" name="file"><br> <label>用户名</label><input type="text" value="" placeholder="用户名" name="username"><br> <label>密码</label><input type="password" value="" placeholder="密码" name="password"><br> <input type="submit" value="提交"> </form> </body> </html>
  4. controller层
    java @RequestMapping(value = "/upload.do") @ResponseBody public void testUpload( HttpServletRequest request, HttpServletResponse response, User user, @RequestParam(value = "file") MultipartFile file) throws IOException { // 获取用户信息 System.out.println("用户名"); System.out.println(user.getUsername()); System.out.println("密码"); System.out.println(user.getPassword()); // 获取文件名 String filename = file.getOriginalFilename(); System.out.println(filename); // 获取绝对路径 String upload_Path = request.getRealPath("/upload"); // 路径处理 String file_path = upload_Path + "//" + UUID.randomUUID() + filename; // 判断路径是否存在如果没有就创建 File file1 = new File(file_path); if (!file1.getParentFile().exists()) { file1.getParentFile().mkdirs(); } // 将文件file里的内容复制到file1里 file.transferTo(file1); }

    下载

  5. jsp页面

     <html>
     <head>
         <title>Title</title>
     </head>
     <body>
     <a href="download.do?filename=f12c1a77-158f-466f-b272-33144f668de3_4Ib-a8g9aA.jpg">下载</a>
     </body>
     </html> 
  6. controller层
    java @RequestMapping("/download") public ResponseEntity<byte[]> downloadTest( HttpServletRequest request, @RequestParam("filename") String filename, Model model) throws IOException { filename = new String(filename.getBytes("ISO-8859-1"), "UTF-8"); // 文件下载路径 String path = request.getRealPath("/upload/"); System.out.println("path:" + path); File file = new File(path + File.separator + filename); HttpHeaders httpHeaders = new HttpHeaders(); // 解决文件名的乱码问题 String downloadFileName = new String(filename.getBytes("UTF-8"), "ISO-8859-1"); System.out.println("downloadFileName" + downloadFileName); // 以attachment方式(下载)打开文件 httpHeaders.setContentDispositionFormData("attachment", downloadFileName); // 二进制流数据,常见的文件下载 httpHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM); return new ResponseEntity<byte[]>( FileUtils.readFileToByteArray(file), httpHeaders, HttpStatus.CREATED); }

springmvc上传下载

原文:https://www.cnblogs.com/JaminYe/p/10631602.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!