当我单击按钮时,浏览器会强制下载图像 代码工作它下载图像与正确的大小,但它都是黑色的 即时通讯使用此代码:
// get attachment location
$attachment_location = "files/image.jpg";
if (file_exists($attachment_location)) {
// attachment exists
// send open/save jpg dialog to user
header('Cache-Control: public'); // needed for i.e.
header('Content-Type: application/jpg');
header('Content-Disposition: attachment; filename="image.jpg"');
readfile($attachment_location);
die(); // stop execution of further script because we are only outputting the jpg
}
else {
die('Error: File not found.');
}
答案 0 :(得分:0)
我在测试服务器上尝试了你的代码。 (PHP5.3,Apache2.2,Win7)
适用于Firefox和IE8。
您确定问题与您的图片有关,还是与您自己的浏览器无关?
您使用的是哪个版本的PHP?什么HTTP服务器?哪个操作系统?
你在哪个浏览器上测试过它?
答案 1 :(得分:0)
是否有可能还有其他数据仍在缓冲区中?如果您使用echo file_get_contents()
代替readfile
会发生什么?如果您在致电ob_clean(); flush();
之前致电readfile
会怎样?
你还有error_reporting
啰嗦吗?在调用readfile
或使用上面提到的任何缓冲操作之前,请尝试将其关闭。