我已经完成了使用 spring 和 hibernate 开发的 java web 应用程序。在我的应用程序中,有一个下载功能。该功能在 windows env 上运行良好。但是当我在 linux env 上部署和运行应用程序时,使用 Tomcat 作为服务器,该函数返回零字节文件。文件类型为 excel (xls)。但浏览器将其返回为 pdf 文件。
下载功能失败:
Linux 上的 Xls 文件路径:
这是代码:
@RequestMapping("downloadXlsTemplate")
public String downloadTemplate(HttpServletRequest request, HttpServletResponse response) {
try {
String filename = "Template.xls";
File onLinux = new File("/opt/tomcat7/webapps/xls/" + filename);
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment; filename=" + filename);
response.setContentLength((int) onLinux.length());
InputStream inputStream = new FileInputStream(onLinux);
OutputStream responseOutputStream = response.getOutputStream();
int bytes;
while((bytes = inputStream.read()) != -1) {
responseOutputStream.write(bytes);
}
inputStream.close();
responseOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
我尝试了各种方法,但都没有成功。我将非常感谢任何想法、帮助或解决方案
问候尤努斯