Python Boto3和Flask:图像未正确上载到S3

Python Boto3和Flask:图像未正确上载到S3,python,flask,amazon-s3,Python,Flask,Amazon S3,我正在为我的Flask网站建立一个图库,在CMS中生成缩略图时遇到问题。我有一个函数,可以获取上传的图像(存储在列表中),复制列表,并使用zip()遍历这两个列表。我用一个列表制作缩略图,用另一个列表上传完整图像,并将两者发送到AWS S3。问题是,我确实制作了缩略图,但是完整的图像被上传为大小为0字节的图像。我也有一个功能,重命名的图像。这是可行的,所以我认为我做的事情是正确的 为什么我要获取0字节的文件?这是怎么发生的?什么是“清空”文件 @application.route(“/uploa

我正在为我的Flask网站建立一个图库,在CMS中生成缩略图时遇到问题。我有一个函数,可以获取上传的图像(存储在列表中),复制列表,并使用
zip()
遍历这两个列表。我用一个列表制作缩略图,用另一个列表上传完整图像,并将两者发送到AWS S3。问题是,我确实制作了缩略图,但是完整的图像被上传为大小为0字节的图像。我也有一个功能,重命名的图像。这是可行的,所以我认为我做的事情是正确的

为什么我要获取0字节的文件?这是怎么发生的?什么是“清空”文件

@application.route(“/upload”,方法=['GET','POST']))
@需要登录
def upload():
form=UploadForm()
上传的文件=request.files.getlist(“照片”)
conn=bot3.client(
“s3”,
region_name=“region”,
aws_access_key_id='aws_access_key_id',
aws\u secret\u access\u key='aws\u secret\u access\u key'
)
bucket_name=“bucket”
if form.validate_on_submit():
i=1
拇指列表=列表(上传的文件)
对于zip中的z、w(拇指列表、上载的文件):
x=照片(w)
拇指=保存缩略图(z)
conn.upload_fileobj(x.stream,bucket_name,'gallery/fulls/'+w.filename)
conn.upload_fileobj(thumb,bucket_name,'gallery/thumbs/'+w.filename)
form_commit=Gallery(event=form.event.data,
日期=form.date.data,
图像顺序=i,
图像\u文件\u fl=w.filename,
image\u file\u th=w.filename
)
db.session.add(表单提交)
i+=1
db.session.commit()
返回“”,204

我能够在我的
for循环中使用
io.BytesIO()
使这两个上传工作:

zip中z、w的
(拇指列表,上传的文件):
x=照片(w)
c=图像。打开(x)
in_mem_file=io.BytesIO()
c、 保存(在文件“JPEG”中)
in_mem_file.seek(0)
拇指=保存缩略图(z)
conn.upload_fileobj(在_mem_文件中,bucket_名称为'gallery/fulls/'+w.filename)