vue axios post请求发送图片base64编码给后台报错HTTP 错误 414

使用axios上传base64数据给后台,请求 报错http414

图片描述

图片只有8kb,并不大

onChange(file, fileName){
    const self = this;
    console.log(file);
    var reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onloadend = function() {
        self.form.imgSrc = this.result;
//        Vue.set(this.form,'imgSrc',)
    };
    console.log("1:"+self.form.imgSrc);
},

//上传图片
uploadImg(){
    console.log("2:"+this.form.imgSrc);
    const url ='http://**************';
    this.$axios({
        method: 'post',
        url:url,
        params: {
            is_iso:1,
            img_base64:this.form.imgSrc,
            type:1
        }
    }).then((res)=>{
        console.log("3:"+this.form.imgSrc);
        if(res.data.errCode==0){
            this.$alert(res.data.retData.msg);
            const imgSucUrl = res.data.retData.img_info.img_url;
            this.form.imgSucUrl = imgSucUrl;
            console.log(res.data)
        }else if(res.data.errCode==1){
            this.$alert(res.data.retData.msg);
            console.log(res.data);
        }
    });
},

这是我的上传图片的请求代码

回答:

‘request URI too large’说明你的url长度太大了。

你使用的POST方式,为什么不把图片数据放到请求体中呢?放到url末尾作为参数不合适吧。

建议你把图片数据放到data中。

回答:

axios.post('api',base64Data)

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注