我正在尝试通过一个axios
的{{1}} POST请求将用户上传的文件发送到我的服务器,并且该文件无法正常工作。
什么不起作用:
formData
来自python的响应
const formData = new FormData();
formData.append('batch', batch);
formData.append('file', files[i]);
console.log(formData.get('batch')); // outputs 894489 correctly
console.log(formData.get('file')); // outputs fileObject correctly
axios.post('/api/upload', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
有效的方法:
print(request.form)
# ImmutableMultiDict([('batch', '894489')])
# Why is the file missing?
来自python的响应
const formData = new FormData();
formData.append('batch', batch);
formData.append('file', 'test');
console.log(formData.get('batch')); // outputs 894489 correctly
console.log(formData.get('file')); // outputs 'test' correctly
axios.post('/api/upload', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
我的print(request.form)
# ImmutableMultiDict([('batch', '894489'), ('file', 'test')])
# Why is the file appearing?
是有效文件,正在JS中被识别。 files[i]
确认这一点,它总是输出正确的文件。
在文件丢失的某个地方,如果我附加一个字符串,python则无法使用它,但是奇怪的是,它可以工作。有什么想法吗?
答案 0 :(得分:0)
可以从Flask内部使用以下文件访问文件:
request.files['file']