Internet Explorer正在修改下载文件名

|| 我在IE8上遇到问题,其中带有查询字符串的URL在下载时受到损坏。 特别是类似
http://domain.com/software/Software%202.1%20Beta.exe?AWSAccessKeyId=1HCB7Z221V5CV2K1ZDG2&Expires=1307910775&Signature=iQ11pHtVrFS6Up171MI1%2BK3ErPo%3D
导致IE8为名为的文件提供文件下载通知
Software 2.1%20Beta[1].exe
我完全不知道为什么IE会将第一个\'%20 \'正确地转换为空格,但是第二个
%20
保持原样,而扩展名被删除并追加了
[1]
。 删除尾随查询字符串不是一种选择(过期的S3链接)。你们对解决这种疯狂有什么建议吗?我的URI编码有问题吗?     
已邀请:
        啊哈! 通过添加非标准的HTTP Content-Disposition标头来解决此问题,除了完全可憎之外,IE还使用它来覆盖其他任何自动命名因素。
Content-Disposition: attachment; filename=\"My Program 2.1.0 Beta.exe\"
Content-Disposition采用ISO-Latin编码的文件名,即没有HTML编码的废话,但从技术上讲也没有UTF8字符,对我来说这不是问题。 事实证明,您可以从AWS管理控制台的文件浏览器进行指定。只希望它有某种方法可以自动提供Content-Disposition标头,而不必为我提供的每一次下载>烦恼。 编辑: 我说得太早了。亚马逊为此添加了一项功能:http://docs.amazonwebservices.com/AmazonS3/latest/API/index.html?RESTObjectGET.html,其中用户可以手动请求使用特定的Content-Disposition标头提供文件意味着亚马逊和AWS团队的确做到了!     

要回复问题请先登录注册