我正在尝试创建一个脚本,将图像从数据库中拉出并显示给用户,由<img src="viewImage/someImageName">
但我遇到的问题是当显示图像时,所有Null(0x00)都被0x20替换,我不明白为什么。数据库中的数据显示它是空值,但在某处它变为0x20s。
有没有人有任何想法?有什么我想念的吗?
以下是我正在使用的代码:
$data = $this->Image->read(NULL, $userId);
header("Content-Type: image/jpeg");
echo($data['image']);
die;
我不认为它与代码有任何关系,因为你可以看到没有错误的地方。我可以将二进制内容转储出去,但它还没有被篡改过。
堆栈或cakephp有什么想法吗?
更新: 我注意到在流的开头有一个空间,我正试图追踪它,这可能是问题吗?
答案 0 :(得分:0)
是的,一路走来的东西吓坏了(因为OMG无效,如果有什么东西认为它们是字符串终止符)并用空格替换它们。我怀疑CakePHP,但还不太确定是否可以说j'accuse。尝试:
header('Transfer-Encoding-Type: base64');
并查看是否能说服不管是什么,只留下数据。
答案 1 :(得分:0)
我在某个地方的文件中有一个迷路空间,跟踪很有趣:) 我想这会切换堆栈中某些东西的模式并破坏文件