Python 如何在flask/werkzeug中重置文件.stream?

Python 如何在flask/werkzeug中重置文件.stream?,python,flask,werkzeug,Python,Flask,Werkzeug,在我看来,在使用file.save('path',filename')写入文件后,您无法访问file.stream.read(),反之亦然 示例代码(源自文件上载模式): 导入操作系统 从flask导入flask、请求、重定向、url\u for、从\u目录发送\u 从werkzeug导入安全文件名 上传文件夹='uploads/' 允许的扩展名=set(['txt',pdf',png',jpg',jpeg',gif']) app=烧瓶(名称) app.config['UPLOAD\u FOLD

在我看来,在使用
file.save('path',filename')
写入文件后,您无法访问
file.stream.read()
,反之亦然

示例代码(源自文件上载模式):

导入操作系统
从flask导入flask、请求、重定向、url\u for、从\u目录发送\u
从werkzeug导入安全文件名
上传文件夹='uploads/'
允许的扩展名=set(['txt',pdf',png',jpg',jpeg',gif'])
app=烧瓶(名称)
app.config['UPLOAD\u FOLDER']=UPLOAD\u FOLDER
允许的def_文件(文件名):
在文件名和\
允许的扩展名中的filename.rsplit('.',1)[1]
@app.route('/',方法=['GET','POST'])
def upload_文件():
如果request.method==“POST”:
file=request.files['file']
如果文件和允许的文件(file.filename):
filename=secure\u文件名(file.filename)
印刷品
打印os.path.join(app.config['UPLOAD\u FOLDER'],文件名)
保存(os.path.join(app.config['UPLOAD\u FOLDER'],文件名))
print file.stream.read()#您应该能够返回到流的开头。(请参见Werkzeug的文档)。第二次尝试读取文件时,从文件末尾开始读取

file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
file.stream.seek(0) # Go back to the start of the file
print file.stream.read() # <- should work now.
file.save(os.path.join(app.config['UPLOAD\u FOLDER',filename))
file.stream.seek(0)#返回文件的开头

打印文件.stream.read()#谢谢!但是is对我不起作用。我在bash中仍然没有得到任何输出:(你刚刚救了我10个小时,这是一个很好的答案。尽管要找到这个答案,你必须知道问题的根本原因:)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
file.stream.seek(0) # Go back to the start of the file
print file.stream.read() # <- should work now.