vue中使用formdata上传文件

再vue中使用文件上传功能;本来就是一个很小的东西;如果再使用网上的组件的话就会很浪费,

但是再使用formdata上传文件的时候就会出现错误;如果formdata中 的append方法,把需要的字段和文件合并再一起,后台就无法获取到文件之外其他的字段;导致上传失败;

解决方法:formdata只保存文件;不append其他的参数;其他的参数后缀到url地址后方;这样就可以避免这个问题

例如:

 var formData=new FormData();
 formData.append('image',files[0]);
            formData.append('act',"upload_file");
            capis.upLoadImgs(formData,header).then(data=>{
                if(data.status=='success'){
                    this.upLoadImgsList.push(data.res[1]);
                    if(this.subParms.attachments.length!=0){
                        this.subParms.attachments=this.subParms.attachments.split(',');
                    }
                    this.subParms.attachments.push(data.res[0]);
                    this.subParms.attachments= this.subParms.attachments.join(',');
                    this.$vux.toast.show({
                        text: '上传成功!',
                        type:'success'
                    })
                    
                }else{
                    this.$vux.toast.show({
                        text: '上传失败,请重试!',
                        type:'warn'
                    })
                }
            }).catch(err=>{
                console.log('fail:'+err);
            })
希望自己写的东西能够对大家有所帮助!谢谢
原文地址:https://www.cnblogs.com/mrxinxin/p/11527511.html