我有一个servlet(Java EE),它将大型pdf文件返回到UI /浏览器(HTML和JavaScript)以供下载。它需要服务器生成文件10-20秒,所以我试图尽快弹出另存为对话框,以避免浏览器滞后,用户混淆,等待等等。
我只想发送标题等只是为了建立连接,当服务器完成其工作时,我们会刷新剩余的有效负载。
我在标题和刷新缓冲区后立即发送。这在firefox中运行良好,浏览器显示对话框,从而消除了浏览器等待并创建了下载已经开始的错觉,这对于chrome不起作用。
任何帮助表示感谢。
答案 0 :(得分:1)
我通过设置内容处置标头,非Java语法
来修复它header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
答案 1 :(得分:0)
response.setContentType("application/octet-stream");