我有一個允許用戶下載文件的Maven/Spring/Java應用程序。這是我的應用程序的目錄結構。Java Maven應用程序下載在本地但不在服務器上工作
src
main
java
com
mycompany
controller
MyDownloadController
resources
downloads
MyDocument.docx
這裏是下載文件的控制器代碼。
File file = new File("src/main/resources/downloads/MyDocument.docx");
response.setContentType("application/docx");
response.setContentLength((int) file.length());
response.setHeader("Content-Disposition", "attachment; filename=\"MyDocument.docx\"");
DataInputStream inputStream = new DataInputStream(new FileInputStream(file));
ServletOutputStream outputStream = response.getOutputStream();
int length = 0;
byte[] byteBuffer = new byte[4096];
while ((inputStream != null) && ((length = inputStream.read(byteBuffer)) != -1)) {
outputStream.write(byteBuffer, 0, length);
}
inputStream.close();
outputStream.close();
一切工作正常在本地Tomcat服務器上。但是當我嘗試上傳到服務器(Jelastic)時,我得到了一個500錯誤java.io.FileNotFoundException: src/main/resources/downloads/MyDocument.docx (No such file or directory)
。
我查看了服務器上的Tomcat目錄,文檔在那裏(沒有截取公司隱私的實際文檔)。
我猜這事做使用類路徑或東西。但我不知道我需要更新什麼或如何更新。
感謝您的幫助。 :) – 2013-03-10 23:12:40