php – 如何修复Firefox试图“将图像另存为”.htm?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 如何修复Firefox试图“将图像另存为”.htm?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1555字,纯文字阅读大概需要3分钟。
内容图文
我们最近在我们的网站上实施了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.
解决方法:
尝试使用指定图像的内容类型
标题(‘Content-Type:image / jpeg’);要么
标题(‘Content-Type:image / png’);
也许你必须使用内容处理附件让PHP指定内容类型(位置将任务留给Web服务器)
$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");
}
header('Content-Type: image/jpeg');
header("Content-Disposition: attachment; filename='$archivo'");
readfile(AWS_BUCKET_URL .$archivo);
die();
内容总结
以上是互联网集市为您收集整理的php – 如何修复Firefox试图“将图像另存为”.htm?全部内容,希望文章能够帮你解决php – 如何修复Firefox试图“将图像另存为”.htm?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。