Python 上传的图像在写入文件后被破坏

Python 上传的图像在写入文件后被破坏,python,flask,Python,Flask,我有一张照片,是我在一次发帖请求中得到的。我想把它保存在我的文件目录中。我使用以下代码将其写入一个文件,但之后该文件不会显示图像。如何正确保存文件 img = form.imagen.data filename = secure_filename(img) path=os.path.join(app.config['UPLOAD_FOLDER'], filename) with open(path, 'wb+') as f: f.close() 不要自己打开和编写文件,使用Flask框

我有一张照片,是我在一次发帖请求中得到的。我想把它保存在我的文件目录中。我使用以下代码将其写入一个文件,但之后该文件不会显示图像。如何正确保存文件

img = form.imagen.data
filename = secure_filename(img)
path=os.path.join(app.config['UPLOAD_FOLDER'], filename)
with open(path, 'wb+') as f:
    f.close()

不要自己打开和编写文件,使用Flask框架为您提取文件

img = request.files['imugen']
filename = secure_filename(img.filename)
img.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

好的,我发现了问题,就是这行代码

filename = secure_filename(img)
多亏了Leon和其他人,它在图像中使用了read方法并将其记录下来:

img = form.imagen.data
path=os.path.join(app.config['UPLOAD_FOLDER'], img.filename)
with open(path, 'wb+') as f:
    f.write(img.read())

我没有看到任何真正执行写操作的代码嗯,你认为我应该执行f.write()吗?但是它需要一个参数,我应该使用f.write(img)吗?因为我已经试过了,但是它没有正确地保存图像,这就是你需要的,但是它没有正确地保存图像,并且它还显示builtins.TypeError TypeError:“str”不支持缓冲区接口。我快速查找了文档。似乎您应该能够执行
form.imagen.save(os.path.join(app.config['UPLOAD\u FOLDER'],filename))
。假设imagen是我所认为的,它会显示内置项。AttributeError AttributeError:“\u io.BufferedRandom”对象没有属性“replace”