我使用以下javascript代码段让用户在点击按钮时下载文件:
location = 'http://www.example.com/files/installer.exe'
问题在于,虽然它有效但下载时并没有显示文件大小(在Windows上的Firefox中测试过)。
有没有办法告诉浏览器可执行文件的大小,以便用户在下载时看到进度条?
答案 0 :(得分:1)
不是来自客户端JavaScript - 如果服务器不说,浏览器无法知道远程资源的大小。
您需要服务器端修复:生成有效的Content-Length
标头。 Web服务器通常自动执行此操作。如果你没有,这可能意味着你有一个服务器端脚本发送文件,但没有报告它的大小。
答案 1 :(得分:1)
这可能与服务器端的问题有关;这不是一个JavaScript错误。
GET
对example.com/files/installer.exe的请求返回了哪些标头?可能缺少Content-Length
标头,并且用户浏览器无法提前知道文件大小。