微信上传图片接口报{"errMsg":"uploadImage:missing arguments"}错误

微信官方文档有时候也有坑,文档上讲上传图片接口为:

wx.uploadImage({
    localId: '', // 需要上传的图片的本地ID,由chooseImage接口获得
    isShowProgressTips: 1, // 默认为1,显示进度提示
    success: function (res) {
        var serverId = res.serverId; // 返回图片的服务器端ID
    }
});
我在选择图片之后进行上传,代码如下:

//选择图片
wx.chooseImage({
    count: 1, // 默认9
    sizeType: ['original', 'compressed'],     // 可以指定是原图还是压缩图,默认二者都有
    sourceType: ['album', 'camera'],         // 可以指定来源是相册还是相机,默认二者都有
    success: function (res) {
        var localIds = res.localIds;         // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
        //上传图片
        wx.uploadImage({
            localId : localIds,             // 需要上传的图片的本地ID,由chooseImage接口获得
            isShowProgressTips: 1,             // 默认为1,显示进度提示
            success: function (res) {
                var serverId1 = res.serverId; // 返回图片的服务器端ID(serverId)
                alert(serverId1);
            }
        });
    }
});
但是就是不成功,报{"errMsg":"uploadImage:missing arguments"}错误,搜了一下很多人都遇到这个坑:

解决办法很简单,就是把 localId : localIds, 换成 localId : localIds.toString(),就是把选择图片啊之后的本地素材强转成字符串格式,然后就好了:

//上传图片
wx.uploadImage({
    localId : localIds.toString(),             // 需要上传的图片的本地ID,由chooseImage接口获得
    isShowProgressTips: 1,             // 默认为1,显示进度提示
    success: function (res) {
        var serverId1 = res.serverId; // 返回图片的服务器端ID(serverId)
        alert(serverId1);
    }
});


--------------------- 
作者:江南极客 
来源:CSDN 
原文:https://blog.csdn.net/sinat_35861727/article/details/71484257 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/mezheng/article/details/83308121
今日推荐