我在flask应用程序中有以下路由,它接受上传的文件并将文件对象抛出到函数中进行验证。这是一个准系统的例子:
def is_file_valid(file):
if file.filename == 'test':
return True
return False
@app.route('/validate', method=['POST'])
def validate():
file = request.files['file']
if is_file_valid(file):
return redirect(url_for('somewhere'))
return redirect(url_for('somewhere_else'))
我正在尝试创建一个单元测试来测试is_file_valid
函数,但是我在创建FileStorage
对象使用时遇到了麻烦,这看起来与标准的python文件对象非常相似({ {3}})。
这是我到目前为止所尝试的内容:
import io
with io.open('/path/to/file', 'rb') as f:
print(f.filename)
但我收到以下错误:
AttributeError: 'io.TextIOWrapper' object has no attribute 'filename'
知道如何在常规python脚本中模仿werkzeug的FileStorage
对象吗?