0

データベースから画像を引き出してユーザーに表示するスクリプトを作成しようとしています。<img src="viewImage/someImageName">

しかし、私が抱えている問題は、画像が表示されたときにすべてのヌル(0x00)が0x20に置き換えられ、その理由がわかりません。データベース内のデータは、それがnullであることを示していますが、途中で0x20に変更されます。

誰かが何か考えを持っていますか?足りないものはありますか?

これが私が使用しているコードです:

$data = $this->Image->read(NULL, $userId);
header("Content-Type: image/jpeg");
echo($data['image']);
die;

ご覧のとおり、エラーの場所がないため、コードとは何の関係もないと思います。バイナリの内容をダンプできますが、まだ改ざんされていません。

スタックやcakephpで何か考えはありますか?

更新:スペースがストリームの先頭に向かっていることに気づきました。それを追跡しようとしていますが、これが問題になる可能性がありますか?

4

2 に答える 2

0

ええ、途中で何かがおかしくなり(OMG nullのため、何かが文字列ターミネータだと思ったらどうなるでしょう)、それらをスペースに置き換えています。私はCakePHPを疑っていますが、j'を非難するほど確実ではありません。試す:

header('Transfer-Encoding-Type: base64');

そして、それがあなたのデータを放っておくためにそれをしていることを納得させるかどうか見てください。

于 2009-09-16T19:27:06.507 に答える
0

私はどこかのファイルに漂遊スペースを持っていました、追跡するのはとても楽しいです:)これはスタック内の何かのモードを切り替えてファイルを破壊すると思います

于 2009-09-16T20:20:38.873 に答える