Dav*_*vid 11 javascript php html5
我有一个网站,提示用户从外部资源下载文件.由于外部文件名被散列并且用户下载了多个文件,因此用户很难知道他们下载的文件到达了他们请求的资源.例如,文件名fdae442dafe42.zip可以是production-resources.zip.
我正在寻找方法,以便浏览器将文件作为一个不同的名称下载.以下是我的一些想法以及为什么它们不起作用,但您可以找到解决方法.
请注意,我对外部资源没有任何控制权.我将无法更改标题或其他任何内容.我的服务是一个主要针对桌面用户的网站.Android和iOS解决方案不会那么有用.
下载属性
这种方法在谷歌Chrome和Firefox中运行了一段时间,但随后他们开始遵循W3 HTML5规范.外部资源需要发送Content-Disposition之前谷歌浏览器和Firefox未检查过的标题.
PHP代理下载
我知道我可以让PHP脚本向外部资源发出请求,然后在更改标题和名称以满足我的需求时将其提供给最终用户.问题是网站流量很大,每个用户下载大约1-2GB的数据.我的服务器无法处理这种类型的流量,升级服务器的成本可能太高.
使用外部应用程序重命名文件
我正在考虑使用外部应用程序(可能是Chrome/Firefox扩展程序),它们会在完成下载后重命名这些文件.但考虑到我的观众数量足够大,一次访问者,要求他们下载应用程序或扩展程序是不太可能的.
Flash或Java嵌入式解决方案
我正在考虑使用Java或Flash嵌入式文件来处理文件下载,但我对这两个平台都不太了解.据我所知,Flash对用户的文件系统没有太多控制权,因此这可能是一个问题.Java将能够完成这项任务,但我真的希望我不必使用Java,因为它通常不安全,需要大量下载才能安装它(与外部软件的想法相同).
如果您对我可能采取的措施有什么想法来解决这个问题,我们将不胜感激.我不是在寻找任何代码,只是关于如何完成上述任务的想法.我想感谢你们所有的时间和专业知识.