zoukankan      html  css  js  c++  java
  • SpringMVC学习笔记(六)

    一.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方法代码

       

    @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;
    }

      

  • 相关阅读:
    使用fiddler进行app弱网测试
    弱网测试
    Java虚拟机的内存模型
    Junit使用
    python安装numpy和scipy的资源
    HTTP资源合集
    http之post方法 提交数据的四种方法
    计算机编码中的换行 CR与LF
    python Mixin 是个啥?
    python mock的简单使用
  • 原文地址:https://www.cnblogs.com/tony-hyn/p/6225710.html
Copyright © 2011-2022 走看看