2016-04-12 10 views
-1

読み取り画像私は、データベースから画像を読み、私のウェブサイトでそれを表示しようとしている

私はそのようなものを持ってバイナリフィールドに保存されている画像形式のPostgresデータベースを読み

'/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFAKADAAQAAAABAAADsAAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8AAEQgDsAUAAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fL 

私は画像を表示する必要があると私はイメージがバイナリ形式である間、私は考えることはできません

ので、私は私のウェブサイトでそれと場所を変えることができる方法

+0

あなたのjqueryコールはどのように見えますか? – JohnnyAW

+0

hmmmm私がデータを取得してjquery –

+0

に渡すPython関数を呼び出すのは難しいですが、何が起こっているのか分かりません。 – JohnnyAW

答えて

1

Postgresのencode()関数を使用して、バイナリをbase64に変換し、イメージタグにロードします。

2

あなたの写真のフォーマットに基づいて(私はそれがjpegであると仮定しています、またはpngなどを使用してください)。

var my_source = 'data:image/jpeg;base64,' + btoa(your_binary_string); 

とし、それをdom要素の中に入れます。

Ex。

var my_element = document.getElementById("div_which_image_will_be_located"); 
var my_image = my_element.createElement("img"); 
my_image.src = my_source 
my_element.appendChild(my_image); 
+0

あなたのソリューションはきれいに見えます。すべての写真フォーマットをカバーする必要がある解決策 –

+0

イメージフォーマットをデータベースのどこかに保存するとどうなりますか? または(悪い解決策)、 'var possible_formats = ['data:image/jpeg; base64'、 'data:image/png; base64'、...]; var possibleImageFunction = function(x){戻り値x + btoa(your_binary_string); }; var possibleImages = possible_formats.map(f => possibleImageFunction(f));それらのうちの1つだけが有効な画像になります。有効なものだけが見えるようにすべてを使用してください:) –

+0

また、あなたの問題を解決したかどうか教えてください。 –