Загрузить изображения в Amazon S3 с помощью Django

m в настоящее время изменяет размер изображения на лету, когда пользователь загружает изображение. Исходная картинка хранится на Amazon S3 в корзине под названием djangobucket. Внутри этого ведра содержатся тысячи папок.

Каждая папка названа в честь пользователя. Я нене нужно беспокоиться о создании корзины или папки, поскольку все это обрабатывается на стороне клиента.

Вот схема:

djangobucket  ------------> bob ---------> picture1.jpg
                                           picture2.jpg
                                           picture3.jpg
                                           picture4.jpg

Как видите, у Боба много картинок. Когда пользователь загружает изображение на S3, я загружаю его через Django через URL, в этом случае это будет:http://s3.amazonaws.com/djangobucket/bob/picture1.jpg

Я загружаю изображение, выполняю обработку изображения и сохраняю обработанное изображение на моем сервере приложений django.

Я хотел бы отправить это обработанное изображение обратно в Bob 'папка s, чтобы к ней можно былоhttp://s3.amazonaws.com/djangobucket/bob/picture1_processed.jpg

Клиент уже имеет доступ к ключу Amazon и секретному ключу, чтобы он мог загрузить изображения в это ведро. Все пользователи сервиса используют одни и те же ключи. Я тоже буду использовать те же ключи.

мы слышали о чем-то под названием Boto, но это связано с созданием Bucket, и яЯ не уверен, как сделать только часть загрузки. Я'Я озабочен только загрузкой изображения в соответствующую папку пользователя.

Я искал это часами, поэтому яМы обратились к экспертам здесь.

Вот мой код, просто чтобы вы могли лучше понять, что яя делаю.

user = 'bob'

url = 'http://s3.amazonaws.com/djangobucket/bob/picture1.jpg'
filename = url.split('/')[-1].split('.')[0]

download_photo = urllib.urlretrieve(url, "/home/ubuntu/Desktop/Resized_Images/%s.jpg" % (filename))
downloaded_photo = Image.open("/home/ubuntu/Desktop/Resized_Images/%s.jpg" % (filename))

resized_photo = downloaded_photo.resize((300, 300), Image.ANTIALIAS)
new_filename = filename + "_processed"

resized_photo.save("/home/ubuntu/Desktop/Resized_Images/%s.jpg" % (new_filename)) 

Я хотел бы отправить фотографию с измененным размером, сохраненную в / home / ubuntu / Desktop / Resized_Images /, Бобуs папку в djangobucket на Amazon S3 и сделать ее общедоступной.

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ Я нашел эту ссылку:http://www.laurentluce.com/posts/upload-and-download-files-tofrom-amazon-s3-using-pythondjango/

Не совсем, как использовать это для моего случая, но я думаю, чтом на правильном пути.

Ответы на вопрос(1)

Ваш ответ на вопрос