• java下载文件代码示例


     在浏览器输入请求http://ip:port/excel/down.html ,下载服务端文件

    package com.harara.easyexcel.controller;
    
    import com.alibaba.excel.ExcelWriter;import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.OutputStream;
    
    /**
     * 下载文件 demo
     * @author : harara
     * @version : 2.0
     * @date : 2020/6/11 9:44
     */
    @RequestMapping("/excel")
    @RestController
    public class ExcelController  {
    
    
        /**
         * 下载已经生成好的文件
         * @param request
         * @param response
         */
        @GetMapping("/down.html")
        public void download1Excel(HttpServletRequest request, HttpServletResponse response){
            OutputStream out = null;
            ExcelWriter excelWriter = null;
            File file = null;
            FileInputStream input = null;
            try {
                out = response.getOutputStream();
                //设置ConetentType CharacterEncoding Header,需要在out.write()之前设置
                response.setContentType("mutipart/form-data");
                response.setCharacterEncoding("utf-8");
                response.setHeader("Content-disposition","attachment;filename=excelByModel.xlsx");
                //本地已存在的文件
                file = new File("excelByModel.xlsx");
                input  = new FileInputStream(file);
                int len;
                byte[] bytes = new byte[1024];
                while((len =input.read(bytes))> 0){
                    out.write(bytes,0,len);
                }
               out.flush();
            }catch (Exception e){
                e.printStackTrace();
            }finally {
               try {
                    input.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                try {
                    out.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }
    }
  • 相关阅读:
    阿里云 redis 通过rinetd 进行端口透传
    Linux文件系统的实现
    门外汉的IT
    被解放的姜戈05 黑面管家
    被解放的姜戈04 各取所需
    被解放的姜戈03 所谓伊人
    统计Go, Go, Go
    被解放的姜戈02 庄园疑云
    被解放的姜戈01 初试天涯
    亚马逊云架设WordPress博客
  • 原文地址:https://www.cnblogs.com/kiko2014551511/p/13092946.html
Copyright © 2020-2023  润新知