我应该通过浏览器从服务器下载一个csv文件。 我尝试使用以下代码的servlet
private void writeFile(String filename, String content, HttpServletResponse response) throws IOException {
String filename="VR.csv";
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();
System.out.println("done");
}
但程序没有下载任何文件在Download文件夹中,程序让我在浏览器中看到csv内容。我需要在浏览器的下载文件夹中安装VR.csv。
答案 0 :(得分:0)
您没有设置回复!如果要下载特定文件,则需要在响应中指定要下载的类型以及特定文件的路径。
response.setContentType("text/csv");
response.setHeader("Content-Disposition", "attachment;filename=yourFileName.csv");
答案 1 :(得分:0)
除了上一个答案,你的方法应该有返回类型,如果你使用Spring Framework,它应该有ModelAndView,如下所示
public ModelAndView writeFile(String filename,String content,HttpServletResponse response)抛出IOException {}