В моем приложении для флэков я использую функцию для загрузки файла на Amazon s3, используя Boto.Проблема с загрузкой файла Amazon S3 с использованием «BOTO» в моем приложении для фляшек -Python
Его работоспособность в большинстве случаев, но несколько раз его загрузка файлов в виде файла с нулевым байтом без расширения.
Почему его неудачу иногда,
Я проверка файла изображения пользователя в форме.
FileField('Your photo',validators=[FileAllowed(['jpg', 'png'], 'Images only!')])
Моя функция загрузки изображений.
def upload_image_to_s3(image_from_form):
#upload pic to amazon
source_file_name_photo = secure_filename(image_from_form.filename)
source_extension = os.path.splitext(source_file_name_photo)[1]
destination_file_name_photo = uuid4().hex + source_extension
s3_file_name = destination_file_name_photo
# Connect to S3 and upload file.
conn = boto.connect_s3('ASJHjgjkhSDJJHKJKLSDH','GKLJHASDJGFAKSJDGJHASDKJKJHbbvhjcKJHSD')
b = conn.get_bucket('mybucket')
# Connect to S3 and upload file.
sml = b.new_key("/".join(["myfolder",destination_file_name_photo]))
sml.set_contents_from_string(image_from_form.read())
acl='public-read'
sml.set_acl(acl)
return s3_file_name
Код выглядит хорошо для меня. добавьте mimetype 'sml.set_metadata ('Content-Type', 'image/png')' он может помочь. – kartheek
Получаете ли вы сообщение об ошибке с S3? – garnaat