首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么下载的图像会被损坏?

为什么下载的图像会被损坏?
EN

Stack Overflow用户
提问于 2016-11-16 17:26:45
回答 1查看 79关注 0票数 1

我想从数据库中获取具有jpg格式的图像二进制数据,并使用下面的代码为其制作下载链接。

它工作在wamp服务器上,下载完成后打开文件,文件没有损坏,表明文件存储在数据库中是正确的,但在真正的服务器上不工作,下载链接是生成的,下载完成时文件不打开。

我尝试它的pdf文件,它工作在服务器和wampserver。

在下面的代码中,$row是正确填写的,我确信数据库值没有问题。

$content是图像的二值化。

服务器需要特定的设置吗?

代码语言:javascript
复制
    $sql = "SELECT * FROM files WHERE  file_id= ? ";
    $params = array((int)$_POST["btn_save_file"]);
    $table = sqlsrv_query( $conn, $sql, $params);
    $row = sqlsrv_fetch_array( $table, SQLSRV_FETCH_ASSOC);
    $message=sqlsrv_errors();
    $content =$row["file_data"];
    $temp = tmpfile();
    fwrite($temp,$content);
    $name="img".rand(1,1000).".jpg";
    $a=fstat ($temp);
    header('Content-type: image/jpg');
    header('Content-Length: '.$a["size"]);
    header("Content-Disposition: attachment; filename=".$name);
    echo $content;
    fclose($temp);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-16 19:19:51

夏洛特·邓诺瓦给出的答案是我的解决方案(禁用输出缓冲)。

在创建下载链接之前,我使用了"ob_end_clean()“,它起了作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40638491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档