使用解压缩php

时间:2019-02-07 07:58:16

标签: php image pdf unpack

$data = '0x'.unpack('H*hex', file_get_contents($tmp_name))['hex'];

我正在尝试使用上述代码将文件数据存储到我的数据库中。然后我将其检索并以

的形式下载
header('Content-Description: File Transfer');
header("Content-Transfer-Encoding: Binary");
header('Content-Disposition: attachment; filename="'.basename( $response->strFileName ).'"');
header('Cache-Control: must-revalidate');
header('Content-Length: '.$response->intSize);
echo $response->binFile;

其中$response->binFile是服务器对我存储上述代码中的数据的列的响应。

这适用于pdf文件,但不适用于jpg / png图像。图片的大小小于原始文件,并且出现错误

enter image description here

对于下载并打开它时上传的图像。对于PDF没问题

原始图像在右侧,左侧图像是上传到数据库的图像,然后下载。使用上面的代码

enter image description here

我不知道是否值得一提,但是我下载的图像没有尺寸,如下所示:

enter image description here

原始文件在右侧上传,然后在左侧下载

1 个答案:

答案 0 :(得分:0)

我使用了以下标题。并解决了问题

ob_clean();
header("Content-type: ".$response->strExtension.""); 
header("Cache-Control: no-store, no-cache");  
header("Content-length: ".$response->intSize.""); 
header("Content-Disposition: attachment; filename=".basename($response->strFileName).""); 
echo base64_decode($response->binFile);