随笔 - 40  文章 - 0 评论 - 4 阅读 - 49458
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

一.SpringMVC文件的上传

    1.1.需要导入两个jar包

   1.2在SpringMVC配置文件中加入

  

<!-- upload settings -->
<bean id="multipartResolver"  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="102400000">
    <property name="defaultEncoding" value="utf-8"> 
</property>
</bean>

注意:bean的id必须有而且必须叫multipartResolver

 

1.3方法代码

   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RequestMapping(value="/upload",method=RequestMethod.POST)
public String upload(HttpServletRequest req) throws Exception{
    MultipartHttpServletRequest mreq = (MultipartHttpServletRequest)req;
    MultipartFile file = mreq.getFile("file");
    String fileName = file.getOriginalFilename();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");       
    FileOutputStream fos = new FileOutputStream(req.getSession().getServletContext().getRealPath("/")+
            "upload/"+sdf.format(new Date())+fileName.substring(fileName.lastIndexOf('.')));
    fos.write(file.getBytes());
    fos.flush();
    fos.close();
      
    return "hello";
}

二. SpringMVC文件的下载.  

   2.1 准备下载源

  在WebContent下新建files目录,放入aaa.txt,作为下载源

  2.2 在index.jsp添加超链接作为下载入口

   

<a href="testResponseEntity" id="testJson">testResponseEntity</a><br/>

2.3 在handler SpringMVCTest中添加接口

复制代码
@RequestMapping("testResponseEntity")
public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException{
    byte[] body = null;
    ServletContext servletContext = session.getServletContext();
    InputStream in = servletContext.getResourceAsStream("/files/aaa.txt");
    body = new byte[in.available()];
    in.read(body);
         
    HttpHeaders headers = new HttpHeaders();
    headers.add("Content-Disposition", "attachment;filename=aaa.txt");
    HttpStatus statusCode = HttpStatus.OK;
    ResponseEntity<byte[]> response = new ResponseEntity<>(body, headers, statusCode);
    return response;
}
复制代码

 

  

posted on   帅哥的爸爸  阅读(227)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示