关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

微信上传图片接口报{"errMsg":"uploadImage:missing arguments"}错误的解决方法

发布时间:2019-11-12 16:21:57

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

[javascript]

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


我在选择图片之后进行上传,代码如下:

[javascript] 

view plain copy
//选择图片  
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(),就是把选择图片啊之后的本地素材强转成字符串格式,然后就好了:

[javascript] 

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


/template/Home/Zkeys/PC/Static