1. 程式人生 > >微信上傳圖片介面報{"errMsg":"uploadImage:missing arguments"}錯誤

微信上傳圖片介面報{"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 
版權宣告:本文為博主原創文章,轉載請附上博文連結!