axios传 file文件 (多文件上传)

代码背景:
vue cli 4
“axios”: “^0.21.0”,
传file文件的时候,需要用formData
代码只是说明,仅供参考

let formDatas = new FormData();
//多文件上传的时候,通过遍历来追加file给表单
//编辑状态的话,就传url,新增状态,就传file格式文件
this.filelist.forEach((i,index)=>{
   if(i.raw){
     formDatas.append("file[]",i.raw);
   }else{
     formDatas.append("file[]",i.url);
   }        
 });
 for(let key in this.ruleForm){
   formDatas.append( key,this.ruleForm[key] );
 };
this.$axios({
    method: "POST",
    url: url,
    headers: {
      'Content-Type': "multipart/form-data",
    },
    //这部分非常重要,否则formdata会被转格式
    transformRequest: [function(){
        return formDatas;
    }],
    data: formDatas,
    params: formDatas,
})
.then(res => {

})
.catch(err => {
  console.log(err);
});

你可能感兴趣的:(技巧类)