gpt4 book ai didi

python - 在我的 Flask 应用程序中使用 "BOTO"出现 Amazon S3 文件上传问题 -Python

转载 作者:太空宇宙 更新时间:2023-11-03 17:49:10 27 4
gpt4 key购买 nike

在我的 Flask 应用程序中,我使用 Boto 将文件上传到 Amazon s3 的函数。

在大多数情况下它工作正常,但有时它会将文件上传为没有扩展名的零字节文件。

为什么有时会失败,

我正在验证表单中的用户图像文件。

FileField('您的照片',validators=[FileAllowed(['jpg', 'png'], '仅限图像!')])

我的图片上传功能。

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

最佳答案

您的 Assets 有多大?如果上传太大,您可能必须对其进行分段/分块,否则会超时。

bucketObject.initiate_multipart_upload('/local/object/as/file.ext')

这意味着您将不会使用 set_contents_from_string 而是存储和上传。您可能需要使用某些东西来删除文件,例如 FileChuckIO。

如果这适用于您,这里有一个示例:http://www.bogotobogo.com/DevOps/AWS/aws_S3_uploading_large_file.php

此外,您可能需要编辑上面的帖子并更改您的 AWS key 。

关于python - 在我的 Flask 应用程序中使用 "BOTO"出现 Amazon S3 文件上传问题 -Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29338129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com