java 从resource下载excel打不开

这篇具有很好参考价值的文章主要介绍了java 从resource下载excel打不开。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    @GetMapping("/download/template")
    public void template(HttpServletResponse response) throws IOException {
        ServletOutputStream outputStream = response.getOutputStream();
        InputStream inputStream = null;
        try {
    //从resource获取excel文件流
            inputStream = getClass().getClassLoader().getResourceAsStream("批量上传产品模板.xlsx");
            String fileName = "批量上传产品模板.xlsx";
            response.reset();
            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
            response.setCharacterEncoding("UTF-8");
            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
            response.setHeader("Content-Length", String.valueOf(inputStream.available()));
            IoUtil.copy(inputStream, outputStream);
        } catch (Exception e) {
            e.printStackTrace();
            throw new ServiceException("下载失败");
        } finally {
            inputStream.close();
            outputStream.flush();
            outputStream.close();
        }
    }

由于Java项目在编译/Maven打包Excel等资源文件时,使用了Maven的filter,导致打包后的Excel文件乱码或者损坏。

需要再maven添加插件文章来源地址https://www.toymoban.com/news/detail-689530.html

<build>
   <plugins>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-resources-plugin</artifactId>
         <configuration>
            <encoding>UTF-8</encoding>
            <nonFilteredFileExtensions>
               <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
               <nonFilteredFileExtension>xls</nonFilteredFileExtension>
            </nonFilteredFileExtensions>
         </configuration>
      </plugin>
   </plugins>
   <resources>
      <resource>
         <directory>src/main/resources</directory>
         <filtering>true</filtering>
      </resource>
   </resources>
</build>

到了这里,关于java 从resource下载excel打不开的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 下载git,界面打不开怎么办?

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、git安装包的下载 1.问题 2.解决方法 在下载使用git时,可能会出现git安装包下载打不开的情况,下面萌新带你解决这个问题! 最初萌新在下载git安装包时,出现,下面的问题情况: 点

    2024年03月23日
    浏览(54)
  • 未来Mac下载站怎么打不开了

    重要公告: 未来软件园因业务需要现更换域名 原域名:Mac.orsoon.com 更为新域名:未来mac下载-Mac软件-mac软件下载-mac软件大全 程序已全面转移,请访问新域名  

    2024年02月16日
    浏览(48)
  • vue2文件流下载成功后文件格式错误、打不开、内容缺失

    后端采用文件流的方式将文件信息发送给前端,前端需要接收相应的流信息做出对应的操作,如接收到图片、pdf将进行预览模式,将接收到压缩包形式的则进行文件下载。后端对相应的文件进行不同的传输方式进行传输,前端则需要接收相应的信息并进行操作。 当收到图片、

    2023年04月27日
    浏览(40)
  • 【微软商店(Microsoft Store)重置后打不开,商店下载不了应用的解决方法】

    微软商店(Microsoft Store)重置后打不开,商店下载不了应用的解决方法 1.进入以下网址进行微软系统更新,下载相应系统,下载后双击独立程序包进行更新,然后重启电脑。(注意windows版本号与处理器类型,不要下载错了) https://www.catalog.update.microsoft.com/Search.aspx?q=KB5015020 版本

    2024年02月04日
    浏览(61)
  • 前端下载后端文件流,文件可以下载,但是打不开,显示“文件已损坏”的问题分析与解决方案

    我在前端使用axios接收后端xlsx表格文件流并下载,xlsx文件能够下载成功,但是打开却显示文件无法打开 请求API封装: Content–Type 以及 responseType 经核对均没有问题 接口调用: 下载函数封装: 预览: 二进制数据 可以看到文件数据已经接收到并且是二进制的,但是转为的xlsx文件却

    2024年02月04日
    浏览(55)
  • 【fiddler学习问题记录】——手机端证书下载页打不开、无法将此证书安装(已解决)

    目录 1、手机端下载页打不开 解决方法1)电脑端——将网络设置成公用(亲测有效) 解决方法2)手机端将fiddler设置为信任应用,不被拦截 (未试) 2、无法将此证书安装 方法一:修改证书后缀名cer为crt(未成功) 方法二:手机端换浏览器,电脑端防火墙关闭(成功) 3、

    2024年02月10日
    浏览(64)
  • 后端返回文件流,前端用blob转换后,下载的文件乱码或者打不开怎么解决

    1、确认接口有没有设置 responseType: “blob” 2、使用blob转换,res 是 后端返回的文件流 3、如果文件还是打不开,提示文件格式不对……,那就看看项目中有没有引用 mockJs ,有的话注释掉就可以啦

    2024年02月16日
    浏览(59)
  • springboot类路径下excel、word文件下载为空和打不开记录

    下载为空这个原因很简单,新同事写的下载是这样写的,这种只能在本地用下,打包上线后就g了… 这个问题不大,只要换种方式读取类路径下文件即可, 重点是下面这个打不开的问题 在springboot工程的类路径下 /static/ 目录下创建了一个模板excel文件,比如 template.xlsx,写的文

    2024年02月13日
    浏览(41)
  • Eclipse打不开?报错:要运行Eclipse,必须提供Java运行时环境(JRE)或Java开发工具包(JDK),搜索以下位置后未找到Java虚拟机。

    A Java Runtime Environment(JRE)or Java Development Kit(JDK)must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations:C:UsersRouRoueclipsejee-2022-06eclipseeclipsejre binjavaw.exejavaw.exe in your current PATH 为了运行Eclipse,必须提供Java运行时环境(JRE)或Java开发工具包(

    2024年04月10日
    浏览(59)
  • windows11安全中心打不开或病毒与威胁防护打不开

    直接装一个360安全卫士,然后退出360 安装很多软件都需要破解,而想要让破解软件下载解压后不消失就需要进入安全中心把病毒与威胁防护等东西关了,但是不知道为什么我就是打开不了安全中心,对于这个问题,我也到处在网上搜过,大部分都是一样的解决方法,我几乎把

    2024年01月18日
    浏览(94)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包