尽管设置了内容长度,但浏览器在下载文件时没有显示进度。
response.setContentType("text/plain");
response.setHeader("Content-Disposition", "attachment; filename=chat.txt");
response.setContentLength((int) file.length());
BufferedReader br = null;
try (OutputStream os = response.getOutputStream()) {
br = new BufferedReader(new FileReader(file));
String currentLine;
while((currentLine = br.readLine()) != null) {
os.write(currentLine.getBytes(Charset.forName("UTF-8")));
os.write("\n".getBytes());
}
} catch (IOException e) {
} finally {
if(br!=null)
br.close();
}
file.delete();
我在这里缺少什么问题?以及如何实现进度条?
更新:好的,它实际上显示了进度。另一个问题是,我尝试发送一个小的文本文件,但未设置内容长度,因此立即下载了该文件。但是,一旦我设置了内容长度,就会准备好下载过程(有点暂停),并在一段时间后立即下载txt文件。 内容长度有什么问题,为什么与没有内容长度不同,为什么还有一些时间要等待。