Загрузил изображение в AWS S3, используя boto3.Загружается при нажатии на URL - PullRequest
1 голос
/ 11 июля 2019
import boto3
s3 = boto3.client('s3')
bucketName = "player-img"
file = '59.png'

s3 = boto3.resource('s3')
object_acl = s3.ObjectAcl(bucketName,file)
response = object_acl.put(ACL='public-read')

Так я загрузил изображение с именем 59.png в свой Bucket. Однако, когда я нажимаю на URL (https://player-img.s3-us-west-1.amazonaws.com/59.png), он загружается вместо перехода к URL-адресу изображения. Как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Проверьте Content-Type файла.Вы можете сделать это через Консоль AWS (выберите файл в корзине -> Свойства -> Метаданные).Это должно быть image/png или подобное.Вы можете установить Content-Type либо вручную на той же странице, либо при загрузке файла с помощью boto:

s3bucket.put_object(Key='59.png', Body=data, ContentType='image/png')
0 голосов
/ 11 июля 2019

Так что, если вы добавите /59.png в URL, он, очевидно, будет загружен. Удалить компонент имени файла изображения из URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...