首页 > 其他分享 >下载服务器resources文件

下载服务器resources文件

时间:2023-04-21 16:23:56浏览次数:46  
标签:String request filename resources new 服务器 fileTemplateName bis 下载

  @GetMapping("download")
    @ApiOperation(value = "下载 标准库板块excel")
    public void download(HttpServletRequest request, HttpServletResponse response) {
        OutputStream os = null;
        InputStream inputStream = null;
        BufferedInputStream bis = null;
        try {
            ResourceLoader resourceLoader = new DefaultResourceLoader();
            String  fileTemplateName = "标准库板块.xlsx";
            inputStream = resourceLoader.getResource("classpath:/templatefile/"+fileTemplateName).getInputStream();
            bis = new BufferedInputStream(inputStream);
            os = response.getOutputStream();
            //通过文件名称获取MIME类型
            String framename = filenameEncoding(fileTemplateName, request);
            String contentType = request.getServletContext().getMimeType(fileTemplateName);
            String contentDisposition = "attachment;filename=" + framename;
            response.setHeader("Content-Type", contentType);
            response.setHeader("Content-Disposition", contentDisposition);
            byte[] buffer = new byte[1024];
            int i = bis.read(buffer);
            while (i != -1) {
                os.write(buffer, 0, i);
                i = bis.read(buffer);
            }
        } catch (Exception ue) {
            throw new CommonException("下载 标准库板块失败!", ue);
        }finally {
            try {
                os.close();
                inputStream.close();
                bis.close();
            }catch (Exception ue){
                throw new CommonException("下载 标准库板块失败!", ue);
            }
        }
    }

    private String filenameEncoding(String filename, HttpServletRequest request){
        try {
            String agent = request.getHeader("User-Agent"); //获取浏览器
            if (agent.contains("Firefox")) {
                filename = "=?" + "UTF-8" + "?B?"
                        + Base64.encodeBase64String(filename.getBytes("UTF-8"))
                        + "?=";
            } else if(agent.contains("MSIE")) {
                filename = URLEncoder.encode(filename, "UTF-8");
            } else {
                filename = URLEncoder.encode(filename, "UTF-8");
            }
        } catch (Exception e) {
            throw new CommonException("文件名转换异常!", e);
        }
        return filename;
    }

 

标签:String,request,filename,resources,new,服务器,fileTemplateName,bis,下载
From: https://www.cnblogs.com/chenTo/p/17340817.html

相关文章

  • node实现文件上传和文件下载
    node实现文件上传和下载安装multer和fs模块npminstallmulterfs--save//multer文件上传,fs文件处理上传文件并存放相应路径下multer({dest:"upload"}).single('file')//dest后是文件存放的地址,single中的为filename//.single(fieldname)-单个文件上传......
  • 【汇智学堂】微服务-SpringBoot环境搭建之一maven下载安装
    一、下载maven3.6.2http://maven.apache.org/download.cgi下载完成后,解压到某个目录。本人目录如下。(C:\Users\leilei\Desktop\apache-maven-3.6.2-bin\apache-maven-3.6.2)二、配置环境变量系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为C:\Users\leilei\Desktop\apache-maven......
  • 服务器部署paddlepaddle遇到的坑
    paddle库所依赖的系统libstdc++.so.6版本较低,无法满足paddle库所需的GLIBCXX_3.4.20版本要求。1、确定当前系统中libstdc++.so.6文件的版本:strings/lib64/libstdc++.so.6|grepGLIBC显示:GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIB......
  • 邮箱伪造之搭建匿名SMTP服务器
      电子邮件欺骗(emailspoofing)的根本原因是SMTP协议是不需要身份验证的,攻击者可以利用这个特性伪造电子邮件头,从任意电子邮件地址发送任何人,导致信息看起来来源于某个人或某个地方,而实际却不是真实的源地址。   如果要实现邮箱伪造发件人地址,首先,我们需要一个可以用来发送......
  • Ubuntu 搭建一个局域网文件存储服务器
    在Ubuntu上搭建一个局域网文件存储服务器可以使用Samba服务,Samba是一个能够与Windows兼容的文件和打印机共享服务。下面是搭建过程:安装Samba服务打开终端,运行以下命令安装Samba:sqlCopycodesudoapt-getupdatesudoapt-getinstallsamba创建共享文件夹......
  • JMeter入门教程(2) --Jmeter的下载
    文章目录1.JMeter下载地址3.JMeter常见术语1.JMeter下载地址1.下载地址:https://jmeter.apache.org/download_jmeter.cgi2.点击箭头所指下载完成解压即可3.因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。4.找到我们解压后的JMeter的文件夹如图所示:5.点击bin目......
  • 服务器远程管理
    一、远程管理类型windows远程管理有2中类型:1、远程桌面(图形)2、telnet(命令行)二、远程桌面步骤1、首先将配置网络,并实现客户机与服务器可以互通。2、服务器开启允许被远程控制:我的电脑图标右键属性--远程设置--选择允许--确定。3、客户机上:开始--运行--输入mstsc打开......
  • 国产操作系统之银河麒麟服务器版V10安装
    国产操作系统之银河麒麟服务器版V10安装https://blog.csdn.net/carefree2005/article/details/128003425 恒悦sunsite于2022-11-3008:30:00发布4159收藏16分类专栏:国产操作系统文章标签:国产操作系统9090console控制台版权国产操作系统专栏收录该内容10篇文章1......
  • 银河麒麟服务器操作系统安装VMware Tool
    银河麒麟服务器操作系统安装VMwareTool 安装前提:确保虚拟机连接iso 注:因为我已经安装过VMwareTools,因此此时是显示重新安装 点击重新安装后,会弹出如下对话框,选择"是"  选择"确定"弹出如下界面,将标红文件解压到桌面  鼠标右键该压缩包,选择“解压缩到...........
  • 银河麒麟高级服务器操作系统V10 SP3安装kafka_2.12-2.3.1
    银河麒麟高级服务器操作系统V10SP3安装kafka_2.12-2.3.1 1.安装环境设置1关闭Selinux12345678910111213141516171819[root@localhost~]#vim/etc/selinux/config #Thisfilecontrolsthestate of SELinux on thesystem.#SELI......