s3イメージ応答をオブジェクトとして読み取る方法

Karthikaeya​​n

ValueError: embedded null bytes3応答をb64dataに変換しようとしているときに取得しています

urllib.request同じパッケージで試してみましたValueError: embedded null byteがスローされます


s3_response_object = settings.S3_CLIENT.get_object(Bucket=settings.BUCKET_NAME, Key='image_name.png')
object_content = s3_response_object['Body'].read()
with open(object_content, 'rb') as img:
    b64_image = base64.b64encode(img.read())

これは、事前に署名されたURLで試行された他のコードです

signed_uri = settings.S3_CLIENT. \
generate_presigned_url(ClientMethod='get_object',
                       Params={'Bucket':settings.BUCKET_NAME,
                       'Key': 'image_name.png'})
contents = urllib.request.urlopen(signed_uri).read()
with open(contents, "rb") as image_file:
    b64_image = base64.b64encode(image_file.read())

どちらのメソッドもこのエラーをスローします

    with open(object_content, 'rb') as img:
ValueError: embedded null byte

ただし、事前に署名されたURIを使用して画像を開くことはできますが、画像はb64dataとして必要です。

Kshitij saxena

.read()を2回呼び出す必要はありません。object_contentのタイプはバイトです

次のようなことを行います。

signed_uri = settings.S3_CLIENT. \
generate_presigned_url(ClientMethod='get_object',
                   Params={'Bucket':settings.BUCKET_NAME,
                   'Key': 'image_name.png'})
contents = urllib.request.urlopen(signed_uri).read()
b64_img = base64.b64encode(contents)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

laravel5.2で複数のオブジェクトを使用してajax応答を読み取る方法

分類Dev

範囲を指定したGetObjectRequestを使用してAWS S3 GZIPオブジェクトを読み取る

分類Dev

ストリームを使用してネストされたオブジェクトでSOAPWebサービスの応答を効率的に読み取る方法

分類Dev

BeautifulSoup DivTagオブジェクトを辞書として読み取る方法

分類Dev

boto3を使用して、公に読み取り可能なオブジェクトをS3(またはDigitalOcean Spaces)に配置する方法

分類Dev

コアデータをオブジェクトとして読み取る

分類Dev

jsonをmongodbのオブジェクトデータとして読み取る

分類Dev

オブジェクトとして文字列を読み取るノード

分類Dev

HTTPリクエストに応答して受信したangular4のprotobufオブジェクトを読み取る方法

分類Dev

php / jsでJSON応答オブジェクトを読み取る

分類Dev

Amazon S3のPutObjectRequestを介してアップロードされたオブジェクトに読み取り権限を付与する

分類Dev

golangでjsonオブジェクトとしてjsonファイルを読み取る方法

分類Dev

TimeoutException:メッセージ:タイムアウトとウェブページがPython3を介してChromeDriverChromeで読み込まれ/応答しません

分類Dev

AWS S3が公的に読み取り可能なオブジェクトをアップロードする

分類Dev

Node.jsのエラーオブジェクトからエラーメッセージを文字列として読み取る方法

分類Dev

typescriptと 'this'オブジェクトを使用してローカルファイルを読み取る

分類Dev

C#対称暗号化オブジェクトからキーを文字列として読み取る方法

分類Dev

オブジェクトとしてそこに保存された後、AWS S3から読み取り可能なメールを取得するにはどうすればよいですか?

分類Dev

辞書(オブジェクトのキー)をファイルに保存して読み取る方法

分類Dev

aws lambdaからリモートイメージファイルを読み取り、そのイメージファイルを応答として返す方法

分類Dev

反応では、オブジェクトからプロパティとデータを読み取る方法

分類Dev

オブジェクトメソッドを応答として送信するNodeJS

分類Dev

axiosリクエストに反応します。setStateは応答オブジェクトを読み取ることができません

分類Dev

オブジェクトごとにJSONオブジェクトのストリームを読み取る方法

分類Dev

ROR:応答としてオブジェクトを送信する

分類Dev

AWS S3読み取りは、新しく作成されたオブジェクトを返すことが保証されていますか?

分類Dev

PythonでUnicode文字列をjsonオブジェクトとして読み取る

分類Dev

pingスクリプトを作成するPHPは、応答をオブジェクトに変換して読み取る必要があります

分類Dev

Nodeを使用してファイルを読み取ると、読み取りコードの外部に空のオブジェクトが返されます

Related 関連記事

  1. 1

    laravel5.2で複数のオブジェクトを使用してajax応答を読み取る方法

  2. 2

    範囲を指定したGetObjectRequestを使用してAWS S3 GZIPオブジェクトを読み取る

  3. 3

    ストリームを使用してネストされたオブジェクトでSOAPWebサービスの応答を効率的に読み取る方法

  4. 4

    BeautifulSoup DivTagオブジェクトを辞書として読み取る方法

  5. 5

    boto3を使用して、公に読み取り可能なオブジェクトをS3(またはDigitalOcean Spaces)に配置する方法

  6. 6

    コアデータをオブジェクトとして読み取る

  7. 7

    jsonをmongodbのオブジェクトデータとして読み取る

  8. 8

    オブジェクトとして文字列を読み取るノード

  9. 9

    HTTPリクエストに応答して受信したangular4のprotobufオブジェクトを読み取る方法

  10. 10

    php / jsでJSON応答オブジェクトを読み取る

  11. 11

    Amazon S3のPutObjectRequestを介してアップロードされたオブジェクトに読み取り権限を付与する

  12. 12

    golangでjsonオブジェクトとしてjsonファイルを読み取る方法

  13. 13

    TimeoutException:メッセージ:タイムアウトとウェブページがPython3を介してChromeDriverChromeで読み込まれ/応答しません

  14. 14

    AWS S3が公的に読み取り可能なオブジェクトをアップロードする

  15. 15

    Node.jsのエラーオブジェクトからエラーメッセージを文字列として読み取る方法

  16. 16

    typescriptと 'this'オブジェクトを使用してローカルファイルを読み取る

  17. 17

    C#対称暗号化オブジェクトからキーを文字列として読み取る方法

  18. 18

    オブジェクトとしてそこに保存された後、AWS S3から読み取り可能なメールを取得するにはどうすればよいですか?

  19. 19

    辞書(オブジェクトのキー)をファイルに保存して読み取る方法

  20. 20

    aws lambdaからリモートイメージファイルを読み取り、そのイメージファイルを応答として返す方法

  21. 21

    反応では、オブジェクトからプロパティとデータを読み取る方法

  22. 22

    オブジェクトメソッドを応答として送信するNodeJS

  23. 23

    axiosリクエストに反応します。setStateは応答オブジェクトを読み取ることができません

  24. 24

    オブジェクトごとにJSONオブジェクトのストリームを読み取る方法

  25. 25

    ROR:応答としてオブジェクトを送信する

  26. 26

    AWS S3読み取りは、新しく作成されたオブジェクトを返すことが保証されていますか?

  27. 27

    PythonでUnicode文字列をjsonオブジェクトとして読み取る

  28. 28

    pingスクリプトを作成するPHPは、応答をオブジェクトに変換して読み取る必要があります

  29. 29

    Nodeを使用してファイルを読み取ると、読み取りコードの外部に空のオブジェクトが返されます

ホットタグ

アーカイブ