如何使用Axios从表单发布文件

使用原始HTML当我使用以下命令将文件发布到flask服务器时,我可以从flask全局请求访问文件:

<form id=“uploadForm”action=“upload\u file”role=“form”method=“post”enctype=multipart/form data>
<输入type=“file”id=“file”name=“file”>
<输入类型=提交值=上传>
&lt/表格>

在烧瓶中:

def post(自):
如果request.files中有“file”:
....

当我尝试对Axios执行相同操作时,flask请求全局为空:

<form id=“uploadForm”enctype=“多部分/表单数据”v-on:change=“uploadFile”>
<输入type=“file”id=“file”name=“file”>
&lt/表格>
上载文件:函数(事件){
const file=event.target.files[0]
axios.post('upload_file',file{
标题:{
“内容类型”:“多部分/表单数据”
}
})
}

如果我使用上面相同的uploadFile函数,但从axios.post方法中删除了头json,我将在flask请求对象的form key中得到一个字符串值的csv列表(文件是.csv)

如何获取通过axios发送的文件对象

将文件添加到formData对象,并将内容类型标题设置为多部分/表单数据

var formData=new formData();
var imagefile=document.querySelector(“#file”);
formData.append(“image”,imagefile.files[0]);
axios.post('upload_file',formData{
标题:{
“内容类型”:“多部分/表单数据”
}
})

发表评论