• 文件下载


      

    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();
    }
    }
  • 相关阅读:
    计算闰年
    三个数比较大小
    剪刀石头布编辑
    二进制转换,八进制,十六进制转换
    原来我学的还是不够。。。
    认知是一切的基础
    spark学习笔记-java调用spark简单demo
    spark学习笔记-RDD
    Sublime Text3时间戳查看转换插件开发
    Spring Boot + Freemarker多语言国际化的实现
  • 原文地址:https://www.cnblogs.com/itzyz/p/11553484.html
Copyright © 2020-2023  润新知