我在我的网络应用程序的控制器中有以下代码,用于打开我用来生成报告的Excel模板。在本地,下面的代码可以很好地将文件作为BufferedInputStream打开并加载数据,然后将其发送到Web客户端。但是,当我的Web应用程序作为war文件发布时,我没有获得BufferedInputStream,而是返回weblogic.utils.zip.SafeZipFileInputStream,我无法将其转换为XSSFWorkbook。 excel文件肯定在war文件中,我可以看到它正在向我返回一些东西,它似乎不是我期待的excel文件。我从war文件运行时收到的错误如下:java.util.zip.ZipException:无效距离太远
有什么想法我在这里做错了吗?提前谢谢。
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("/com/mycomp/myapp/exceltemplates/MyExcelTemplate.xlsx");
logger.info("XXXXXXXXXXXXXXXXXXXXXXX InputStream is=" + is);