我正在尝试使用 react.js 和 python(flask) 上传文件及其附加字段。用户可以上传多个文件。
为了添加更多功能,我将名称和文件推送到一个数组中,该数组存储在组件的状态中,如下所示。
this.state = {
files:[{name:'', file:''}]
}
然后我在 flask 中创建了一个 rest api 来上传文件和保存数据。并将 this.state 数据作为 formData() 传递。我正在尝试像下面这样在 flask 中上传文件。
let formData = this.state;
const fd = new FormData();
for(let k in formData){
fd.append(k,formData[k]);
};
Rest API-
@mod_upload.route('/upload',methods=['POST'])
def upload():
if request.method == 'POST':
f = request.files['files']
print(f)
一切正常,但在上面的代码中 f 始终为空,因为在 formData() 中我附加了 this.state.files是一个数组,但它需要文件对象。
所以,我需要一些建议,如何访问 request.files['files'] 中的文件和字段值。
请帮帮我。 谢谢
请您参考如下方法:
试试这个。在附加表单数据时注意 'files' 键。让我知道它是否有效
更新的答案
let formData = this.state;
const fd = new FormData();
for(const k of formData){
fd.append('files',k.file, k.name);
};
