溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序中如何實(shí)現(xiàn)拍照或從相冊選取圖片上傳

發(fā)布時(shí)間:2021-06-26 15:05:12 來源:億速云 閱讀:2902 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了微信小程序中如何實(shí)現(xiàn)拍照或從相冊選取圖片上傳,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

upload.wxml

<!--pages/upload/upload.wxml-->
<button bindtap='uploadPhoto'>拍照選取照片上傳</button>

upload.js

// pages/upload/upload.js
Page({
 data: {
  imgData: []
 },
 uploadPhoto(e) { // 拍攝或從相冊選取上傳
  let that = this;
  wx.chooseImage({
   count: 1, // 默認(rèn)9
   sizeType: ['compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有
   sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機(jī),默認(rèn)二者都有
   success(res) {
    let tempFilePaths = res.tempFilePaths; // 返回選定照片的本地路徑列表 
    that.upload(that, tempFilePaths);
   }
  })
 },
 upload(page, path) { // 上傳圖片
  wx.showToast({ icon: "loading", title: "正在上傳……" });
  wx.uploadFile({
   url: '上傳圖片接口url', //后端接口
   filePath: path[0],
   name: 'file',
   header: {
    "Content-Type": "multipart/form-data"
   },
   success(res) {
    if (res.statusCode != 200) {
     wx.showModal({ title: '提示', content: '上傳失敗', showCancel: false });
     return;
    } else{
     console.log("上傳成功! 可對返回的值進(jìn)行操作,比如:存入imgData;");
    }
   },
   fail(e) {
    wx.showModal({ title: '提示', content: '上傳失敗', showCancel: false });
   },
   complete() {
    wx.hideToast(); //隱藏Toast
   }
  })
 }
})

ps:以上是單圖上傳,如果需要多圖上傳,請看下方:

// pages/publish/publish.js
Page({
 data: {
  imgData: []
 },
 uploadPhoto(e) { // 拍攝或從相冊選取上傳
  let that = this;
  wx.chooseImage({
   count: 9 - that.data.imgData.length, // 默認(rèn)最多上傳9張
   sizeType: ['compressed'], // 可以指定是原圖還是壓縮圖,默認(rèn)二者都有
   sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機(jī),默認(rèn)二者都有
   success(res) {
    let tempFilePaths = res.tempFilePaths; // 返回選定照片的本地路徑列表 
    that.upload(that, tempFilePaths);
   }
  })
 },
 upload(page, path) { // 上傳圖片
  let that = this;
  wx.showToast({ icon: "loading", title: "正在上傳……" });
  for (var i=0; i<path.length; i++) {
   wx.uploadFile({
    url: '上傳圖片接口url', //后端接口
    filePath: path[i],
    name: 'file',
    header: app.globalData.header,
    success(res) {
     if (res.statusCode != 200) {
      wx.showModal({
       title: '提示', 
       content: '第' + i +'張圖片上傳失敗', 
       showCancel: false
      });
      return;
     } else {
      console.log('第' + i +'張圖片上傳成功!可在此操作,比如:存入imgData;');
     }
    },
    fail(e) {
     wx.showModal({
     title: '提示', 
     content: '第' + i +'張圖片上傳失敗', 
     showCancel: false
     });
    },
    complete() {
     wx.hideToast(); //隱藏Toast
    }
   })
  }
 }
})

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“微信小程序中如何實(shí)現(xiàn)拍照或從相冊選取圖片上傳”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI