java项目部署到服务器上后,访问不到项目中的模版文件(如excel、word)

解决:windows系统正常访问resource下的文件,但是Linux系统找不到resource下文件的问题 不知道大家有没有遇到这种情况:在windows环境下项目启动的好好的,可是部署到生产的时候就会报错,找不到相关文件。刚好今天我就遇到了这种情况,真的是头疼屎了,为了让自己对这次bug加深一下印象,所以就写个笔记记录下来。 首先,项目在本地是可以启动的,而部署到Linux系统的时候启动不起来了,报找不到文件的bug,我是可以确定文件是正常的,没有破损的,那导致出问题的原因,可能就是路径错误了,因为路径不对,所以加载不了相关的文件。 今天百度了好多,恶补了一下Linux和Window 阅读详情

java项目部署到服务器上后,访问不到项目中的模版文件(如excel、word)

问题

将excel文件存到项目当中,页面上点击下载按钮能下载excel文件。在本地环境调试是好的,但是发布到测试环境却下载下来一个空文件
线上环境报错:java.io.FileNotFoundException: file:/data/product/release/spt-bas-web/spt-bas-web.jar!/BOOT-INF/classes!/excel/rptBaseCost.xlsx (No such file or directory)

代码

@RequestMapping("/downloadExcel")
    public void downloadExcel(HttpServletRequest req, HttpServletResponse res) {
   
   

        try {
   
   
            //获取要下载的模板名称
            String fileName = "rptBaseCost.xlsx";
            //设置要下载的文件的名称
            res.setHeader("Content-disposition", "attachment;fileName=" + fileName);
            //通知客服文件的MIME类型
            res.setContentType("application/vnd.ms-excel;charset=UTF-8");
            //获取文件的路径
            String filePath = getClass().getResource("/excel/" + fileName).getPath();
            FileInputStream input = new FileInputStream(filePath);
            OutputStream out = res.getOutputStream();
            byte[] b = new byte[2048];
            int len;
            while 
tomcat 启动java war包 访问404 解决办法 阅读详情

相关推荐

Vue项目中实现PDF、Word、Excel在线预览的完整方案

在后台管理系统、OA平台、低代码项目中,在线预览PDF、Word、Excel文档已成为高频需求,其核心难点不在于文件读取,而在于多格式解析、排版保真与浏览器兼容性。前端处理通常借助pdf.js解析PDF并基于Canvas渲染,docx-preview通过解压ZIP结构还原Word样式,SheetJS将Excel单元格数据转为JSON后渲染表格;后端则常用LibreOffice转码为PDF以规避复杂样式失真;第三方在线服务则受限于公网URL。理解不同方案的原理与技术边界,有助于根据业务场景选择最优路径。实际开

weixin_34408717的博客 348

Mathcad在LLC谐振变换器设计中的公式推导实战

本文通过Mathcad软件,详细演示了LLC谐振变换器设计的核心公式推导实战。文章阐述了如何利用Mathcad作为“会思考的草稿纸”,从定义基本参数、应用基波近似法(FHA)模型,到逐步推导电压增益公式及确定工作边界频率(fmin, fmax),并展示了如何通过动态参数扫描进行优化设计,帮助电源工程师高效、直观地完成理论计算,为后续仿真与实现奠定坚实基础。

q1w3e5r7t9y的博客 296

YOLOv8实战火焰和烟雾检测 (视频教程)

本课程将手把手地教大家使用YOLOv8结合可变形卷积(deformable convolution)训练火焰和烟雾数据集,完成一个多目标检测实战项目,可实时检测图像、视频、摄像头和流媒体(http/rtsp)中火焰和烟雾,并提供可视化演示界面 。

bai666ai的博客 1914

HRnet的pytorch实现

HRnet的pytorch实现

奋土的博客 1953

BUUCTF--[OGeek2019]babyrop

才学习了基本的ROP流程,到处找题练,不过也没做出来几道题,以这道32位的题作为例题吧。 这道题是BUUCTF上pwn练习题里的[OGeek2019]babyrop。 代码审计 老规矩先checksec一下: 没有canary保护,nx保护开启排除shellcode可能性,FULL RELEO为地址随机化。 观察主函数,先设定了一个闹铃,到时间就会强制退出程序,解除闹铃的方法在上一篇博客中提到过了, 这道题中闹铃函数依然对我们解题起不到什么干扰作用。 主函数的思路大概是:生成一个随机数,把这个随机数作为

N1rvana的博客 6005

海康威视 2DC 系列球机手机直连实用教程

海康威视2DC系列球机手机直连教程:首先确认设备支持直连功能并下载官方"海康互联"App;通过网线连接球机与路由器,使用SADP软件调整IP至同一网段;在App中添加设备并激活,完成调试即可远程查看监控画面。常见问题包括部分型号需远程解锁、网络连接异常等,可通过检查网络环境、联系客服等方式解决。本教程提供从准备到连接的完整指引,助您轻松实现手机监控管理。

海康威视技术支持 5405

【异常】claude : 无法将“claude”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径

如果claude方式1(临时):使用完整路径运行,比如:# Windows 批处理脚本示例 C:\你的脚本目录\claude . bat # PowerShell 脚本示例 C:\你的脚本目录\claude . ps1方式2(永久):将脚本所在文件夹添加到系统 PATH 环境变量(参考场景1的环境变量配置步骤),之后即可直接输入claude运行。错误核心原因:系统 PATH 环境变量中找不到claude对应的可执行文件/脚本。

奶爸的编程之路,也就一周冷个三天 3670

使用Python爬虫获取Facebook帖子和评论数据

Web爬虫是用于自动抓取网页数据的程序。它通过发送HTTP请求,获取网页的HTML源代码,再对源代码进行解析,提取所需的内容。爬虫常用于数据收集、信息提取、数据分析等应用。

2201_76125261的博客 1998

学习STM32的CAN总线通信

在配置时,确保您启用了CAN总线功能。CAN节点是CAN总线上的一个设备,每个节点都有唯一的标识符。在CAN总线中,有两种类型的节点:CAN控制器和CAN外设。步骤2:配置CAN总线 在STM32CubeMX中,选择CAN总线模块并进行必要的配置。在CAN总线中,有两个重要的概念:CAN节点和CAN帧。步骤5:测试CAN总线通信 在成功编译和烧录代码后,您可以使用串口调试助手或其他CAN总线工具来测试CAN总线通信。步骤3:编写CAN总线通信代码 在项目的主代码文件中,我们将编写CAN总线通信的示例代码。

2401_85258012的博客 496

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: 【java将JSON数据格式化并保存到文件中】
不一样的小笼包
博客等级 码龄7年 0粉丝 4原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值