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();
    }
    }
  • 相关阅读:
    Python之旅.第十章.mysql..
    Python之旅.第十章.mysql.
    Python之旅.第十章.mysql.
    Python之旅.第十章.mysql。
    Mac 移动光标和删除
    网络编程——socket开发
    闭包(closure)
    命名空间 and 作用域
    Function
    for循环的禁忌
  • 原文地址:https://www.cnblogs.com/itzyz/p/11553484.html
Copyright © 2011-2022 走看看