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();
            }
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM