location =" file.exe",在下载过程中显示下载大小?

时间:2016-11-18 09:12:07

标签: javascript firefox browser download

我使用以下javascript代码段让用户在点击按钮时下载文件:

location = 'http://www.example.com/files/installer.exe'

问题在于,虽然它有效但下载时并没有显示文件大小(在Windows上的Firefox中测试过)。

有没有办法告诉浏览器可执行文件的大小,以便用户在下载时看到进度条?

2 个答案:

答案 0 :(得分:1)

不是来自客户端JavaScript - 如果服务器不说,浏览器无法知道远程资源的大小。

您需要服务器端修复:生成有效的Content-Length标头。 Web服务器通常自动执行此操作。如果你没有,这可能意味着你有一个服务器端脚本发送文件,但没有报告它的大小。

答案 1 :(得分:1)

这可能与服务器端的问题有关;这不是一个JavaScript错误。

GET对example.com/files/installer.exe的请求返回了哪些标头?可能缺少Content-Length标头,并且用户浏览器无法提前知道文件大小。