当前位置:  开发笔记 > 编程语言 > 正文

如何修复Firefox试图"将图像另存为".htm?

如何解决《如何修复Firefox试图"将图像另存为".htm?》经验,为你挑选了1个好方法。

我们最近在我们的网站上实施了Amazon S3,这使我们改变了处理图像的方式.我们曾经调用一个控制器/fotos.php,它将从磁盘读取文件,记录一些统计信息,设置标题并将文件内容作为image/jpeg返回.

一切顺利,直到S3.Fotos.php现在执行302重定向到亚马逊的资源,一切都很好,但是你无法在Firefox中保存图像,因为它将文件类型设置为.htm.我发现了这个问题,这似乎是Firefox中的一个错误:

https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/207670

这是一个显示问题的URL(尝试保存大图像):

http://www.viajeros.com/fotos/el-gran-lago-de-atitlan-y-sus-volcanes/132968

Internet Explorer 6至少尝试将其另存为Untitled.BMP.

以下是我们在fotos.php中使用的代码片段:

$archivo = $fotos->ObtenerPathFotoAmazon( $url, null );

if (empty($_GET['nocache'])) {
    header('HTTP/1.0 302 Found');
    header("Expires: ".gmdate("D, d M Y H:i:s", time()+315360000)." GMT");
    header("Cache-Control: max-age=315360000");
} else {
    header('HTTP/1.0 307 Temporary Redirect');
}

header('Location: ' . AWS_BUCKET_URL . $archivo);
die;

你知道一个解决方法吗?

编辑:我们也在使用CloudFront.



1> Greg Dean..:

这不是一个错误

S3本身不知道你存储的对象是什么mimetype.当您PUT在S3中的对象,你还需要包括的内容类型内容处置标题(和其他任何你可能想).执行此操作时,当您或其他任何人获取对象时,S3将使用这些标头值进行响应

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有