我有一个程序,图像在 MySQL 数据库中存储为 blob,除了我的下载链接外,它运行良好。它按应有的方式下载,并且大小也合适,但图像不显示。
上传时,这主要是图像的处理方式:
$image = $_FILES['image']['tmp_name'];
$data = file_get_contents($image);
然后我使用 PDO 进行 MySQL 连接:
$q->bindParam(2, $data, PDO::PARAM_LOB);
这在使用 base64 时效果很好。
$image = new Gmagick();
$image->readimageblob($data);
<img src="data:image/'.$ext.';base64,'.base64_encode($image->getimageblob()).'" />';
但这是我的问题。
header('Content-Disposition: attachment; filename='.$regnr.'-'.$id.'.'.$ext;
header("Content-type: image/$ext");
header("Content-length: $size");
echo $data;
我也尝试过回显 $image->getimageblob(); 等等......以及其他一些标题。但是结果是一样的,图片下载了,大小和格式都是正确的,但是我看不懂。
我该如何解决这个问题?