【发布时间】:2018-04-04 13:02:29
【问题描述】:
我有一个带有 Tomcat 9 的远程 Linux 服务器 (Debian 9.2)。我在服务器上加载了一个生成 .csv 文件的 Web 应用程序,用户可以连接到服务器并下载它。
程序在本地运行时运行良好,但是在远程服务器上运行时,浏览器提示:file not found
这是我的代码:
private void writeFile(String nomeFile, String content, HttpServletResponse response) throws IOException {
response.setContentType("text/csv");
response.setHeader("Content-disposition","attachment; filename="+nomeFile);
String filename=nomeFile;
try {
File file = new File(filename);
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.flush();
bw.close();
}
catch(IOException e) {
e.printStackTrace();
}
// This should send the file to browser
ServletOutputStream out = response.getOutputStream();
FileInputStream in = new FileInputStream(filename);
byte[] buffer = new byte[4096];
int length;
while ((length = in.read(buffer)) > 0){
out.write(buffer, 0, length);
}
in.close();
out.flush();
}
我正在尝试调试它,但我不知道错误可能出在哪里。实现代码的 servlet 在 localhost 上运行良好。为什么在远程服务器上会失败?
【问题讨论】:
标签: java html servlets download remote-server