python flask:模拟 werkzeug FileStorage 对象

python flask: mimic werkzeug FileStorage object

我在 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 对象 flask 使用时遇到了问题,它看起来与标准 python 文件对象 (docs).

这是我到目前为止尝试过的方法:

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 对象吗?

已回答 here. Just need to wrap the python file object in the werkzeug FileStorage class。