欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信多圖上傳解決android多圖上傳失敗問題

 更新時間:2017年04月20日 13:52:57   作者:Y先僧  
這篇文章主要介紹了微信多圖上傳解決android多圖上傳失敗問題,需要的朋友可以參考下

微信提供了文件上傳的方法wx.uploadFile來上傳我們的圖片

wx.chooseImage({
 success: function(res) {
 var tempFilePaths = res.tempFilePaths
 wx.uploadFile({
  url: 'http://example.weixin.qq.com/upload', //僅為示例,非真實的接口地址
  filePath: tempFilePaths[0],
  name: 'file',
  formData:{
  'user': 'test'
  },
  success: function(res){
  var data = res.data
  //do something
  }
 })
 }
})

但是針對多圖上傳微信沒有給出相應(yīng)的方法來解決,如此我們只能消耗我們程序猿的腦細胞來解決了,最開始我使用了for循環(huán)來循環(huán)上傳我的圖片,恰好本人是蘋果手機所以上傳是沒有問題的,本以為輕松解決了這個問題但是提交到測試以后坑了。測試MM說他那里提示上傳失敗。

于是借來測試手機打印出來錯誤消息

uploadFile:fail:the same task is working

wx.uploadFile不能并行,因為wx.uploadFile是一個異步函數(shù),所以循環(huán)的時候在安卓手機上會出現(xiàn)并行

所以上面的通過循環(huán)wx.uploadFile方法進行多圖上傳肯定是不能行的了,既然不能并行我們是不是可以讓wx.uploadFile執(zhí)行完后再執(zhí)行wx.uploadFile了??聪滦薷暮蟮拇a

這里為上傳圖片的方法,在里面作出判斷上傳完成以后重復(fù)調(diào)用upload_img

var img_index = 0;//上傳帶第幾張
var image_list1 = new Array();
//上傳圖片
var upload_img = function (that, file_name) {
 that.setData({
  hidden: false
 });
 wx.uploadFile({
  url: '',
  filePath: file_name,
  name: 'file',
  success: function (res) {
   //此處判斷是否上傳成功
   var obj = JSON.parse(res.data);
   if (obj.ret_code == 1) {
    //上傳成功以后將上傳成功的圖片加入數(shù)組顯示出來,這樣可以避免沒有上傳成功的圖片就不顯示
    var uploads = new Array();
    var image_list = new Array();
    //加入返回值
    uploads = that.data.upload;
    uploads.push(obj.data);
    //加入圖片
    image_list = that.data.tempFilePaths;
    image_list.push(file_name);
    that.setData({
     upload: uploads,
     tempFilePaths: image_list
    });
    //上傳成功一次img_index+1,下面再次調(diào)用upload_img上傳圖片就可以直接傳image_list1[img_index],也就是下一張圖片的鏈接
    img_index = img_index + 1;
    //這里需要作出判斷圖片是否上傳完成,如果完成則取消緩沖框hidden
    if (img_index < image_list1.length) {
     upload_img(that, '' + image_list1[img_index]);
    } else {
     that.setData({
      hidden: true
     });
    }
    //刷新界面
    that.update();
   } else {
    that.setData({
     hidden: true
    });
    utils.show_toast(obj.msg);
   }
  },
  fail: function (res) {
   that.setData({
    hidden: true
   });
   utils.show_toast('加入失敗');
  }
 })
}

選擇圖片方法

if (that.data.tempFilePaths.length < 9) {
   wx.chooseImage({
    count: 9 - that.data.tempFilePaths.length, // 最多可以選擇的圖片張數(shù),默認9
    sizeType: ['compressed'], // original 原圖,compressed 壓縮圖,默認二者都有
    sourceType: ['album', 'camera'], // album 從相冊選圖,camera 使用相機,默認二者都有
    success: function (res) {
     // success
     img_index = 0;
     image_list1=new Array();
     //將選擇的圖片放入要上傳的數(shù)組中
     for (var i = 0; i < res.tempFilePaths.length; i++) {
      console.log(i + ';' + res.tempFilePaths[i]);
      image_list1.push(res.tempFilePaths[i]);
     }
     //最開始上傳第一張圖片
     upload_img(that, '' + image_list1[img_index]);
    },
    fail: function () {
      utils.show_toast('選取失敗');
    }
   })
  } else {
   utils.show_toast('當(dāng)前最多只能選擇9張圖片');
  }

通過上面的代碼就可以完成多圖上傳了,這樣也避免了Android手機報錯的漏洞

這里封裝了一個錯誤消息彈窗避免寫重復(fù)的代碼

utils.show_toast(‘當(dāng)前最多只能選擇9張圖片')
//彈窗 
function show_toast(text) { 
wx.showToast({ 
title: text, 
icon: ‘success', 
duration: 2000 
}); 
}

以上所述是小編給大家介紹的微信多圖上傳解決android多圖上傳失敗問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android UI設(shè)計與開發(fā)之ViewPager介紹和簡單實現(xiàn)引導(dǎo)界面

    Android UI設(shè)計與開發(fā)之ViewPager介紹和簡單實現(xiàn)引導(dǎo)界面

    這篇文章主要為大家詳細介紹了Android UI設(shè)計與開發(fā)之ViewPager介紹和簡單實現(xiàn)引導(dǎo)界面,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android實現(xiàn)自定義飄雪效果

    Android實現(xiàn)自定義飄雪效果

    隨著冬季的腳步越來越遠,南方的我今年就看了一場雪,下一場雪遙遙無期,那我們來實現(xiàn)一個自定義的 View,它能模擬雪花飄落的景象,所以本文給大家介紹了基于Android實現(xiàn)自定義飄雪效果,感興趣的朋友可以參考下
    2024-01-01
  • Android仿微博加載長圖滾動查看效果

    Android仿微博加載長圖滾動查看效果

    這篇文章主要為大家詳細介紹了Android仿微博加載長圖滾動查看效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 詳解OpenGL Shader抗鋸齒的實現(xiàn)

    詳解OpenGL Shader抗鋸齒的實現(xiàn)

    普通繪制圓形形狀時可以看到圖形邊緣會有明顯鋸齒現(xiàn)象并不像真實圓形形狀一樣圓潤邊緣平滑。本文將介紹如何通過自制函數(shù)實現(xiàn)抗鋸齒,需要的可以參考一下
    2022-02-02
  • AndroidQ(10)分區(qū)存儲完美適配方法

    AndroidQ(10)分區(qū)存儲完美適配方法

    這篇文章主要介紹了AndroidQ(10)分區(qū)存儲完美適配方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Android Handler runWithScissors 梳理流程解析

    Android Handler runWithScissors 梳理流程解析

    這篇文章主要為大家介紹了Android Handler runWithScissors 梳理流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Android圖片實現(xiàn)壓縮處理的實例代碼

    Android圖片實現(xiàn)壓縮處理的實例代碼

    本篇文章主要介紹了Android圖片實現(xiàn)壓縮處理的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Android 仿余額寶數(shù)字跳動動畫效果完整代碼

    Android 仿余額寶數(shù)字跳動動畫效果完整代碼

    這篇文章主要介紹了Android 仿余額寶數(shù)字跳動動畫效果完整代碼,需要的朋友可以參考下
    2017-11-11
  • Android全局獲取Context實例詳解

    Android全局獲取Context實例詳解

    這篇文章主要介紹了Android全局獲取Context實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Android獲取窗體信息的Util方法

    Android獲取窗體信息的Util方法

    這篇文章主要介紹了Android獲取窗體信息的Util方法的相關(guān)資料,需要的朋友可以參考下
    2015-07-07

最新評論