PHP脚本下载在直接调用时有效,但在img src中没有

时间:2016-08-25 03:24:48

标签: php html image file download

考虑以下(简化的)PHP脚本:

<?php
header("Content-Length: ".filesize("data/file.svg"));
header("Content-Type: image/svg");
$file = fopen("data/file.svg","rb");
while(!feof($file))
{
    print(fread($file, 1024*8));
    ob_flush();
    flush();
}
?>

Firefox正确下载文件&#34; file.svg&#34;当直接调用该php脚本的URL时。但是当它通过HTML src标签使用时,如:

<img src="https://example.org/script.php">

然后Firefox报告&#34;无法加载图像&#34;。开发人员工具中的“网络”选项卡表示它已转移&#34;已转移&#34; 2.92 KB,但它表示&#34;尺寸&#34;是0 KB。 为什么它适用于第一种情况,而不是第二种情况?

1 个答案:

答案 0 :(得分:1)

正如@Sherif在评论中已经说过我使用了错误的MIME类型。用image/svg替换image/svg+xml修复了错误。