2011-12-19 14 views
1

Webサービスを使用して、MySQLデータベースからデータを取得することができました。データベースには、BLOBのファイルタイプを持つイメージが保存されています。それはイメージに来るとき、これはどのような私のWebサービスの戻りです:JavaScriptを使用してMySQLデータベースから取得したBlobデータを表示する

<image> 
/9j/4AAQSkZJRgABAQEAYABgAAD/7TaeUGhvd.....RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//Z 
</image> 

は今、私はトラブル私のJavaScriptアプリケーションは、このデータを変換し、画像として表示することを持っています。私はちょっと調べて、チュートリアルをいくつかオンラインで見つけましたが、どういうわけか彼らは私のために働いていませんでした。誰でもこの問題を助けてくれますか? BLOBデータをイメージに変換する最も簡単な方法は何ですか?前もって感謝します!

答えて

1

ブロブにbase64でエンコードされたPNGデータがあると仮定すると、data-uriを使用して、画像に直接データを設定できます。その場合の理由だけではなく、ここでの仮定は、データがbase64エンコードですが、それが当てはまらない場合は、さまざまなオプションを見ることができ、サーバから返されたが、最終的には、サーバー側で適切な変換を行うことを有することができることである

var imgdata = "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" 

$('#myimg').attr('src', "data:image/png;base64,"+imgdata) 

私は、サーバー側を使用してどのような言語を確認していないが、プロセスは同じになります。画像へのURLを返す。ここでブロブ

から画像を返すために、サーバー側のAPIを作成することはjsfiddleアクションでhttp://jsfiddle.net/anuraguniyal/4DEtH/5/

編集です例えば各言語のために

>>> s='\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x05\x00\x00\x00\x05\x08\x06\x00\x00\x00\x8do&\xe5\x00\x00\x00\x1cIDAT\x08\xd7c\xf8\xff\xff?\xc3\x7f\x06 \x05\xc3 \x12\x84\xd01\xf1\x82X\xcd\x04\x00\x0e\xf55\xcb\xd1\x8e\x0e\x1f\x00\x00\x00\x00IEND\xaeB`\x82' 
>>> import base64 
>>> base64.b64encode(s) 
'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==' 

すなわち(すぎないPNGマーカー)ファイルに保存されるように、すべてのデータを取るだけでなく、生の画像データと

+0

それをエンコードする今、私はBase64でのブロブをコード化していることを、私は怖いですこのコードはまだ動作していません... – BurninatorDor

+0

@ BurninatorDor私はjsfiddleで動作するので、正しくデータをエンコードしていない可能性があります –

+1

@BurninatorDor私はPythonの例をエンコードする方法を追加しました –

関連する問題