文件上传和下载[springmvc]

一. 文件上传

index.jsp

1 <!-- 文件上传 -->
2     <form action="testHttpMessageConverter" method="post" enctype="multipart/form-data">
3         File: <input type="file" name="file"/>
4         Desc: <input type="text" name="desc"/>
5         <input type="submit" value="Submit"/>
6     </form>

EmployeeHandler.java

 1 @Controller
 2 public class EmployeeHandler {
 3     
 4     /**
 5      * 不加这个会跳转到Hello World + new DAte().jsp对应的页面, 而没有页面和这个对应
 6      * 加上会直接在客户端返回Hello World + new DAte()
 7      */
 8     @ResponseBody    
 9     @RequestMapping("/testHttpMessageConverter")
10     public String testFileUp(@RequestBody String body) {
11         System.out.println(body);
12         return "Hello World " + new Date();
13     }
14 }

运行:

后台打印:

 

 

二. 文件下载

准备下载的文件:

 index.jsp

1 <!-- 文件下载 -->
2     <form action="testResponseEntity" method="post" enctype="multipart/form-data">
3         File: <input type="file" name="file"/>
4         Desc: <input type="text" name="desc"/>
5         <input type="submit" value="Submit"/>
6     </form>

EmployeeHandler.java

 1 @Controller
 2 public class EmployeeHandler {
 3     
 4     @RequestMapping("/testResponseEntity")
 5     public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException {
 6         byte []body = null;
 7         ServletContext servletContext = session.getServletContext();
 8         InputStream in = servletContext.getResourceAsStream("/files/abc.txt");
 9         body = new byte[in.available()];
10         in.read(body);
11         
12         HttpHeaders headers = new HttpHeaders();
13         headers.add("Content-Disposition", "atachment;filename=abc.txt");
14         
15         HttpStatus statusCode = HttpStatus.OK;
16         
17         ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(body, headers, statusCode);
18         return response;
19     }
20 }

 运行:

 

posted @ 2017-03-21 13:49  半生戎马,共话桑麻、  阅读(114)  评论(0)    收藏  举报
levels of contents