文件保存的一个小细节

2020-05-14 14:10:20

请用微信扫描二维码

请用微信扫码分享

今天我在用flask做上传图片时, 我先将图片读取上传到七牛云,然后再保存在本地,却发现保存在本地图片是空的。

查资料发现,原来当文件对象file_object被read()后,文件指针会知道最后,所以这时再save(),就只能从最后开始读取内容,内容自然为空。

解决办法就是 file.seek(0) 重新将指针指到开头就可以保存了

file object ——> io.buffer ——> read()

imagefile = request.files.get('upimage') #上传的图片
md5img = hashlib.md5(imagefile.read()).hexdigest() #图片的md5
imagefile.seek(0)
imagefile.save(file_path) #保存图片