Php 没有在IE、firefox/chrome/其他浏览器中显示的图像很好!
我需要从我使用的一个文章写作网站上为多个文件(img/video/mp3)提供服务器,唯一和主要的问题是: 文章中的所有图像都应该由该类显示,并且该类不显示图像(通过URL调用时启动下载)。 我设法通过删除这一行(可能是第107行)来解决这个问题 这对我显示chrome和firefox的图像很有帮助,但IE仍然启动了下载:( 有没有办法解决这个问题 编辑: 我在元类型中添加了以下内容:Php 没有在IE、firefox/chrome/其他浏览器中显示的图像很好!,php,http,http-headers,Php,Http,Http Headers,我需要从我使用的一个文章写作网站上为多个文件(img/video/mp3)提供服务器,唯一和主要的问题是: 文章中的所有图像都应该由该类显示,并且该类不显示图像(通过URL调用时启动下载)。 我设法通过删除这一行(可能是第107行)来解决这个问题 这对我显示chrome和firefox的图像很有帮助,但IE仍然启动了下载:( 有没有办法解决这个问题 编辑: 我在元类型中添加了以下内容: case "jpg": $content_type="image/".$file_extension; bre
case "jpg": $content_type="image/".$file_extension; break;
case "gif": $content_type="image/".$file_extension; break;
case "png": $content_type="image/".$file_extension; break;
我的猜测是IE仍然需要一个有效的内容类型头(假设类没有为图像提供一个,因为它只是强制下载)。可能需要更改这段代码:
switch( $file_extension ) { // the file type
case "mp3": $content_type="audio/mpeg"; break;
case "mpg": $content_type="video/mpeg"; break;
case "avi": $content_type="video/x-msvideo"; break;
case "wmv": $content_type="video/x-ms-wmv";break;
case "wma": $content_type="audio/x-ms-wma";break;
default: $content_type="application/force-download";
}
并添加图像扩展及其关联的MIME类型。将Content Disposition设置为attachment实际上是为了不直接显示资源:
正文部分可以指定为“附件”,以表明它们与邮件正文是分开的,并且它们的显示不应该是自动的,而是取决于用户的进一步行动
但是,尽管该文件是MIME的一部分,而不是HTTP的一部分,但它“被提议作为源服务器的一种方式,在用户请求将内容保存到文件中时,建议使用默认文件名。”
除此之外,建议使用特殊媒体类型应用程序/八位字节流来暗示下载:
如果在具有应用程序/八位字节流内容类型的响应中使用此标头,则暗示用户代理不应显示响应,而应直接进入“将响应另存为…”对话框
但是,由于您希望直接显示资源,请改用“内联内容处置”值。这样,您还可以使用“文件名”参数指定与URL不同的文件名
另请参阅,以获取有关用于编码filename参数的编码的更多信息。什么值具有
$this->properties[“name”]
?{anythis}.jpg,其中任何内容都是a-zA-Z0-9@Ronan Dejhero:嗯,附件意味着下载文件而不是直接显示文件;请尝试内联方式。@Ronan Dejhero:返回的实际头是什么?Pragma:无缓存过期:0缓存控制:公共内容描述:文件传输内容类型:image/jpg内容处置:内联;filename=“image_1.jpg内容传输编码:二进制内容范围:0-254645”);内容长度:254645
switch( $file_extension ) { // the file type
case "mp3": $content_type="audio/mpeg"; break;
case "mpg": $content_type="video/mpeg"; break;
case "avi": $content_type="video/x-msvideo"; break;
case "wmv": $content_type="video/x-ms-wmv";break;
case "wma": $content_type="audio/x-ms-wma";break;
default: $content_type="application/force-download";
}