zoukankan      html  css  js  c++  java
  • 文件下载

      

    package com.zhengyizhan.Controller;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.*;
    import java.net.URLEncoder;

    /**
    * Created by Administrator on 2019-09-20.
    */
    @Controller
    public class DownloadController {
    /**
    * 文件下载
    * @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("WEB-INF\jsp\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();
    }
    }
  • 相关阅读:
    进程管理supervisor的简单说明
    flask扩展系列之
    爱奇艺面试Python,竟然挂在第5轮…(转)
    RabbitMQ最佳实践
    Linux生成私钥和公钥免密连接
    mongo 慢查询配置
    监控Mongo慢查询
    关于SIGSEGV错误及处理方法(转)
    深入理解JVM内幕(转)
    libpng使用
  • 原文地址:https://www.cnblogs.com/itzyz/p/11553484.html
Copyright © 2011-2022 走看看