2011-06-12 61 views
2

我有IE8的一个问题,即与查询字符串的URL上正在下载的错位。Internet Explorer被重整下载文件名

特别喜欢

http://domain.com/software/Software%202.1%20Beta.exe?AWSAccessKeyId=1HCB7Z221V5CV2K1ZDG2&Expires=1307910775&Signature=iQ11pHtVrFS6Up171MI1%2BK3ErPo%3D 

一个URL是造成IE8给一个名为文件的文件下载通知 Software 2.1%20Beta[1].exe

我完全失去了,为什么第一个“%20”被正确由IE翻译成的空间中,但第二%20保持原样,而延伸部被丢弃,并且一个[1]被附加。

卸下尾随查询字符串不是(到期S3链接)的选项。你们有什么建议来解决这个疯狂吗?我的URI编码有问题吗?

+1

好奇,好赶。只有在'%20'出现时,在文件名后面加一个'.',并且有一个尾部查询字符串。 – bobince 2011-06-12 20:12:18

+0

是的,我有其他的链接''%20y%20z.extension'没有问题。上帝,我讨厌IE! – 2011-06-12 20:15:34

回答

3

啊哈!

通过将非标准的HTTP内容处理标头,这除了是一个完整的憎恶,则使用由IE覆盖任何其他自动命名因子解决。

Content-Disposition: attachment; filename="My Program 2.1.0 Beta.exe"

内容处置发生在ISO拉丁编码的文件名,即没有HTML编码的废话,但在技术上还没有UTF8字符,这对我来说不是问题。

原来你可以从AWS管理控制台的文件浏览器中指定。只希望有一些方法可以让它自动提供Content-Disposition标题,而不必为每次下载的每一个下载提供支持。 <

编辑:

aaaaand我太早说话。亚马逊为此添加了一项功能:http://docs.amazonwebservices.com/AmazonS3/latest/API/index.html?RESTObjectGET.html,其中人们可以手动请求将该文件与特定的内容处置标头一起提供,这意味着亚马逊和AWS团队确实做得很好!

+1

如果可以的话,我会多加注意10次。为我节省了大量的时间。谢谢! – 2015-10-17 05:12:32

+0

非常欢迎,@BrentNash。 – 2015-10-17 21:12:51

相关问题