springboot路径下载文件
发布日期:2022-02-26 14:49:38 浏览次数:39 分类:技术文章

本文共 3409 字,大约阅读时间需要 11 分钟。

package com.impact.websiteapi.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import com.impact.websiteapi.data.CasesData;import com.impact.websiteapi.services.CaseService;import com.impact.websiteapi.util.Jsonoutput;import java.io.*;import java.net.URLEncoder;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class File_Download {    //实现Spring Boot 的文件下载功能,映射网址为/download    @RequestMapping("/download")    public String downloadFile(HttpServletRequest request,                               HttpServletResponse response) throws UnsupportedEncodingException {        // 获取指定目录下的第一个文件        File scFileDir = new File("E://mubu");        File TrxFiles[] = scFileDir.listFiles();        System.out.println(TrxFiles[0]);        String fileName = TrxFiles[0].getName(); //下载的文件名        // 如果文件名不为空,则进行下载        if (fileName != null) {            //设置文件路径            String realPath = "E://mubu/";            File file = new File(realPath, fileName);            // 如果文件名存在,则进行下载            if (file.exists()) {                // 配置文件下载                response.setHeader("content-type", "application/octet-stream");                response.setContentType("application/octet-stream");                // 下载文件能正常显示中文                response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));                // 实现文件下载                byte[] buffer = new byte[1024];                FileInputStream fis = null;                BufferedInputStream bis = null;                try {                    fis = new FileInputStream(file);                    bis = new BufferedInputStream(fis);                    OutputStream os = response.getOutputStream();                    int i = bis.read(buffer);                    while (i != -1) {                        os.write(buffer, 0, i);                        i = bis.read(buffer);                    }                    System.out.println("Download the song successfully!");                }                catch (Exception e) {                    System.out.println("Download the song failed!");                }                finally {                    if (bis != null) {                        try {                            bis.close();                        } catch (IOException e) {                            e.printStackTrace();                        }                    }                    if (fis != null) {                        try {                            fis.close();                        } catch (IOException e) {                            e.printStackTrace();                        }                    }                }            }        }        return null;    }}

 

转载地址:https://blog.csdn.net/qq_31752605/article/details/82141859 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:textarea 剩余字数demo样例
下一篇:什么是临时表,临时表什么时候删除

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月21日 15时49分29秒