浏览器在下载文件时未显示进度

时间:2018-08-22 21:37:02

标签: java servlets

尽管设置了内容长度,但浏览器在下载文件时没有显示进度。

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文件。 内容长度有什么问题,为什么与没有内容长度不同,为什么还有一些时间要等待。

0 个答案:

没有答案