【问题标题】:Image blob is unreadable when downloaded(php)下载时图像 blob 不可读(php)
【发布时间】:2012-10-25 06:37:32
【问题描述】:

我有一个程序,图像在 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();等等......以及其他一些标题。但是结果是一样的,图片下载下来,大小和格式都正确,但是看不懂。

我该如何解决这个问题?

【问题讨论】:

    标签: image header download blob gmagick


    【解决方案1】:

    我找到了答案。我想我用了大约 15 个小时。

    不过,如果有人想知道,解决方案很简单:

     ob_clean();
    

    输出前。

    【讨论】:

    • 谢谢,它节省了我 15 个小时
    猜你喜欢
    • 2019-04-06
    • 2012-04-23
    • 1970-01-01
    • 2021-12-12
    • 2019-05-31
    • 1970-01-01
    • 2018-08-03
    • 2015-10-21
    • 2018-11-21
    相关资源
    最近更新 更多