微信小程序選擇並上傳圖片

 
上傳圖片
API: wx.chooseImage() 和 wx.uploadFile()
wx.chooseImage({
  count: 1, // 默認9
  sizeType: ['original', 'compressed'], // 能夠指定是原圖仍是壓縮圖,默認兩者都有
  sourceType: ['album', 'camera'], // 能夠指定來源是相冊仍是相機,默認兩者都有
  success: function(res) {
    console.log(res.tempFiles); // 圖片的本地文件列表,每一項是一個file對象
    // 結果: [{path: "http://tmp/wx0ffcd03a1dfdc451.o6zAJs7JDPzeAscW09c_BG24fpdU.6919dfcada671055948023075afd859a.jpg", size: 61034}, ...]
    console.log(res.tempFilePaths); // 圖片的本地文件路徑列表
    // 結果: ["http://tmp/wx0ffcd03a1dfdc451.o6zAJs7JDPzeAscW09c_BG24fpdU.6919dfcada671055948023075afd859a.jpg"]
    var tempFilePaths = res.tempFilePaths;
    wx.uploadFile({ 
      url: '/your_url/receive_file', // 圖片上上傳的地址,請求方式默認爲POST且不可更改
      filePath: tempFilePaths[0], // 要上傳的文件的路徑,注:一次只能上傳一個文件,若要上傳多張圖片,請使用遞歸
      name: 'file', // 文件對應的鍵名,後端能夠經過這個key獲取到文件的二進制內容
      formData:{
        'user_id': '123',
        'name': 'Jack',
        'age': 18
      },
      success: function(res){
        var data = res.data
        //do something
      }
    })
  }
})
若是須要上傳多張圖片,那麼須要把wx.uploadFile()封裝成一個函數,判斷圖片上傳是否完成,若是沒有完成,則一直調用這個函數,不然,圖片上傳完成。
相關文章
相關標籤/搜索