zoukankan      html  css  js  c++  java
  • 文件下载—SSM框架文件下载

    1、准备上传下载的api组件

    <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
    </dependency> 
    <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
     
    2、编写前台上传表单
    <body>
    请点击下载:<a href="user/download?filename=moni.jpg">moni.jpg</a>
    </body>
     
    3、编写controller层(在conreoller层拼接附件名字和所在文件夹位置(path),创建输出流直接写入response中
      /**
             * 文件下载
             * @throws IOException 
             */
            @RequestMapping(value="/download",method=RequestMethod.GET)
            public void download(@RequestParam(value="filename")String filename,
                    HttpServletRequest request,
                    HttpServletResponse response) throws IOException {
                //模拟文件,myfile.txt为需要下载的文件  
                String path = request.getSession().getServletContext().getRealPath("statics\upload")+"\"+filename;  
                //获取输入流  
                InputStream bis = new BufferedInputStream(new FileInputStream(new File(path)));
                //转码,免得文件名中文乱码  
                filename = URLEncoder.encode(filename,"UTF-8");  
                //设置文件下载头  
                response.addHeader("Content-Disposition", "attachment;filename=" + filename);    
                //1.设置文件ContentType类型,这样设置,会自动判断下载文件类型    
                response.setContentType("multipart/form-data");   
                BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());  
                int len = 0;  
                while((len = bis.read()) != -1){  
                    out.write(len);  
                    out.flush();  
                }  
                out.close();  
            }

  • 相关阅读:
    ARC 066D Xor Sum AtCoder
    哈尔滨理工大学---沼跃鱼(待整理)
    C#从字符串获取文件路径
    蓝桥杯---机器人行走
    关于float和double的输入输出问题
    湖南多校对抗赛---Jerry's trouble
    湖南多校对抗赛---Good subsequence
    湖南多校对抗赛---Rectangle(01背包)
    蓝桥杯---公式解析
    蓝桥杯---砝码称重
  • 原文地址:https://www.cnblogs.com/domi22/p/8059759.html
Copyright © 2011-2022 走看看