私はbytea
列を含むpostgresテーブルを持っています。この列には画像が含まれています。チェリーpy要求本体のバイト値を返す方法
SqlAlchemyモデルには、LargeBinary
として定義されたこの列があります。私もBLOB
を使用しようとしましたが、それは事を変更しませんでした。
私はデータベースから簡単に値を取得できます。私が得る値は、タイプbytes
の変数です。
このバイト配列をどのようにjsonifyできますか?私はそうのようなCherryPyにリクエストボディにそれを返すことができますので、私は、JSONの値が必要になります。
data = { 'id_image': image.id_image, 'image': image.value }
JSONは、制御文字を含めることはできません。最も簡単な方法は、生のバイナリをbase64エンコードすることですが、これには33%のオーバーヘッドが必要です。とにかくJSONでバイナリを返す必要があるのはなぜですか? 'Content-Type:image/jpeg'なんかのイメージを返せませんか? – univerio
Base64エンコーディングを使用し、BLOBを[data URI](https://css-tricks.com/data-uris/)として表すことができます – webKnjaZ
@Kinetic plzは私の答えを正しいとマークします。 – webKnjaZ