javascript / python / flask-formData无法将上传的文件发送到服务器

时间:2018-11-25 23:16:07

标签: javascript python flask multipartform-data

我正在尝试通过一个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则无法使用它,但是奇怪的是,它可以工作。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

可以从Flask内部使用以下文件访问文件:

request.files['file']
相关问题