亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > ThinkPHP > 正文

tp5實現微信小程序多圖片上傳到服務器功能

2024-09-09 15:20:28
字體:
來源:轉載
供稿:網友

最近在做一個教育類的小商城的微信小程序,用到了上傳多個圖片文件到服務器端,這里做一個講解,希望對大家有所幫助。

1,小程序端:

在wxml文件中:

  1. <!--選擇圖片 --> 
  2. <view class="picture"
  3. <view class="img" wx:for="{{imgs}}" wx:for-item="item" wx:key="*this"
  4. <img class="imgSelected" src="{{item}}" data-index="{{index}}" mode="aspectFill" bindtap="previewImg"
  5. <view class="delete-btn" data-index="{{index}}" catchtap="deleteImg">刪除</view> 
  6. </view> 
  7. <view class="clickImg" bindtap="chooseImg">點擊上傳作業</view> 
  8. </view> 
  9. <!-- 選擇圖片end --> 

在js文件中:

  1. Page({ 
  2. /** 
  3.  * 頁面的初始數據 
  4. */ 
  5. data: { 
  6.  index: 0, 
  7.  multiIndex: [0, 0], 
  8. //傳到后臺的課程分類 
  9. cname:''
  10.  }, 
  11. /** 
  12.  * 生命周期函數--監聽頁面加載 
  13. */ 
  14. onLoad: function (options) { 
  15.  }, 
  16. /** 
  17.  *  
  18.  * 生命周期函數--監聽頁面初次渲染完成 
  19. */ 
  20. onReady: function () { 
  21.  }, 
  22. /** 
  23.  * 生命周期函數--監聽頁面顯示 
  24. */ 
  25. onShow: function () { 
  26.  }, 
  27. /** 
  28.  * 生命周期函數--監聽頁面隱藏 
  29. */ 
  30. onHide: function () { 
  31.  }, 
  32. /** 
  33.  * 生命周期函數--監聽頁面卸載 
  34. */ 
  35. onUnload: function () { 
  36.  }, 
  37. /** 
  38.  * 頁面相關事件處理函數--監聽用戶下拉動作 
  39. */ 
  40. onPullDownRefresh: function () { 
  41.  }, 
  42. /** 
  43.  * 頁面上拉觸底事件的處理函數 
  44. */ 
  45. onReachBottom: function () { 
  46.  }, 
  47. /** 
  48.  * 用戶點擊右上角分享 
  49. */ 
  50. onShareAppMessage: function () { 
  51.  }, 
  52. // 上傳圖片操作 
  53. // 上傳圖片 
  54. chooseImg: function (e) { 
  55. var that = this
  56. if(that.data.cname==''){ 
  57.  }else
  58. var imgs = this.data.imgs; 
  59. if (imgs.length >= 9) { 
  60. this.setData({ 
  61.  lenMore: 1 
  62.  }); 
  63.  setTimeout(function () { 
  64.  that.setData({ 
  65.  lenMore: 0 
  66.  }); 
  67.  }, 2500); 
  68. return false
  69.  } 
  70.  wx.chooseImage({ 
  71. // count: 1, // 默認9 
  72.  sizeType: ['original''compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有 
  73. sourceType: ['album''camera'], // 可以指定來源是相冊還是相機,默認二者都有 
  74. success: function (res) { 
  75. // 返回選定照片的本地文件路徑列表,tempFilePath可以作為img標簽的src屬性顯示圖片 
  76. var tempFilePaths = res.tempFilePaths; 
  77. var imgs = that.data.imgs; 
  78. // console.log(tempFilePaths + '----'); 
  79. for (var i = 0; i < tempFilePaths.length; i++) { 
  80. if (imgs.length >= 9) { 
  81.  that.setData({ 
  82.  imgs: imgs 
  83.  }); 
  84. return false
  85.  } else { 
  86.  imgs.push(tempFilePaths[i]); 
  87.  } 
  88.  } 
  89. // console.log(imgs); 
  90.  that.setData({ 
  91.  imgs: imgs, 
  92.  }); 
  93. //循環把圖片上傳到服務器 
  94. for (var i = 0; i < imgs.length; i++) { 
  95.  wx.uploadFile({ 
  96.  url: url + 'Wx_SaveHomeWork'
  97.  filePath: imgs[i], 
  98.  name: 'files'
  99.  formData: { 
  100.  cname: that.data.cname 
  101.  }, 
  102.  success: function (res) { 
  103.  console.log(res) 
  104.  } 
  105.  }) 
  106.  } 
  107.  } 
  108.  }); 
  109.  } 
  110.  }, 
  111. // 刪除圖片 
  112. deleteImg: function (e) { 
  113. var imgs = this.data.imgs; 
  114. var index = e.currentTarget.dataset.index; 
  115.  imgs.splice(index, 1); 
  116. this.setData({ 
  117.  imgs: imgs 
  118.  }); 
  119.  }, 
  120. // 預覽圖片 
  121. previewImg: function (e) { 
  122. //獲取當前圖片的下標 
  123. var index = e.currentTarget.dataset.index; 
  124. //所有圖片 
  125. var imgs = this.data.imgs; 
  126.  wx.previewImage({ 
  127. //當前顯示圖片 
  128. current: imgs[index], 
  129. //所有圖片 
  130. urls: imgs 
  131.  }) 
  132.  }, 
  133. }) 

2,我們注意到我的wx.request請求中Wx_SaveHomeWork方法是后臺服務器的接收圖片方法,后邊我會把這個方法展示出來。

3.tp5后臺controller中:

  1. //存取學生作業信息 
  2.   public function Wx_SaveHomeWork(){ 
  3.     $files=/request()->file('files'); 
  4.     $cname=/request()->param('cname'); 
  5.     $cid=Db::name('course')->where('cname',$cname)->value('id'); 
  6.     $max_id=Db::name('homework')->max('id'); 
  7.     foreach($files as $item){ 
  8. // 移動到框架應用根目錄/public/uploads/ 目錄下 
  9.       $info = $files->rule('date')->move(ROOT_PATH . 'public' . DS . 'uploads'); 
  10.       if($info){ 
  11.         $saveName=str_replace("//","/",$info->getSaveName()); 
  12.         $img='/uploads/'.$saveName
  13.         $homework[]=['id'=>$max_id+1,'img'=>$img,'cid'=>$cid]; 
  14.       } 
  15.     } 
  16.     //把數據插入到作業表中 
  17.     /db('homework')->insertAll($homework); 
  18.   } 

這里說一下,max_id的作用,因為接受的是多張圖片,相當于一次性要存儲多條數據,所以用max_id對id進行自增,存儲到數據庫表,cid是我自己數據庫邏輯需要用到的變量,可以不用考慮。

4.講解的不夠清楚,因為是自己寫的,感受不到難點在哪里,我自己的難點是在小程序端的圖片上傳,用了for循環,循環上傳的方法,其他的相對來說,邏輯比較簡單。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲激情小视频| 亚洲国产精品大全| 色婷婷综合成人av| 久久亚洲精品一区二区| 欧美日韩中国免费专区在线看| 亚洲精品一区二区三区婷婷月| 成人激情视频在线观看| 亚洲综合av影视| 久久久91精品国产| 亚洲福利视频在线| 成人黄色av播放免费| 国模吧一区二区三区| 日韩二区三区在线| 97精品欧美一区二区三区| 久久精品最新地址| 欧美第一淫aaasss性| 国产精品久久久久7777婷婷| 久久久亚洲福利精品午夜| 欧美极品在线播放| 亚洲国产高清高潮精品美女| 97香蕉久久夜色精品国产| 亚洲自拍偷拍色图| 欧美性猛交xxxx乱大交| 亚洲精品久久久久久下一站| 日韩欧美国产中文字幕| 日韩网站免费观看高清| 韩剧1988在线观看免费完整版| 黑人欧美xxxx| 国产一区欧美二区三区| 欧亚精品中文字幕| 中文字幕国产日韩| 成人午夜在线观看| 全色精品综合影院| 亚州成人av在线| 亚洲肉体裸体xxxx137| 日韩免费在线看| 欧美极品少妇xxxxⅹ免费视频| 亚洲日本aⅴ片在线观看香蕉| 色婷婷av一区二区三区久久| 欧美性视频网站| 久久99精品久久久久久琪琪| 国内精品久久久久久影视8| 亚洲第一视频在线观看| 这里只有精品在线播放| 亚洲天堂成人在线视频| 日韩欧美在线视频| 亚洲区在线播放| 国产中文字幕91| 日韩欧美中文字幕在线观看| 17婷婷久久www| 亚洲久久久久久久久久久| 在线丨暗呦小u女国产精品| 九九视频直播综合网| 欧美极品少妇xxxxx| 国产精品久久久久久av| 91国内揄拍国内精品对白| 日韩av高清不卡| 热re99久久精品国产66热| 欧美日韩在线观看视频小说| 久久69精品久久久久久久电影好| 亚洲国产日韩欧美综合久久| 国产成+人+综合+亚洲欧美丁香花| 97在线看免费观看视频在线观看| 久久在线免费观看视频| 国产一区二区丝袜| 成人福利在线观看| 日韩一区二区在线视频| 91tv亚洲精品香蕉国产一区7ujn| 中文字幕亚洲在线| 国产女人精品视频| 亚洲国产又黄又爽女人高潮的| 在线观看欧美日韩国产| 国产精品影片在线观看| 国内成人精品视频| 色综合久久久888| 欧美老女人www| 麻豆乱码国产一区二区三区| 亚洲欧美日本另类| 色无极亚洲影院| 97视频在线播放| 精品福利免费观看| 中文字幕国产日韩| 久久人91精品久久久久久不卡| 久久艳片www.17c.com| 一本大道香蕉久在线播放29| 日韩中文在线中文网三级| 中文字幕久精品免费视频| 91中文字幕一区| 国内精品久久久久久中文字幕| 久久久综合免费视频| 日韩高清电影免费观看完整| 国产精品一区二区三区毛片淫片| 欧美精品福利视频| 欧美成人久久久| 国产不卡在线观看| 久久久久久久网站| 亚洲天堂一区二区三区| 91精品视频一区| 欧美成人午夜剧场免费观看| 黄网动漫久久久| 中文字幕亚洲综合久久| 亚洲精品网站在线播放gif| 一区二区三区视频免费| 欧美夫妻性生活视频| 国产香蕉一区二区三区在线视频| 久久久久久久91| 欧美最猛黑人xxxx黑人猛叫黄| 欧美精品第一页在线播放| 欧美精品免费在线观看| 亚洲欧美日韩精品久久亚洲区| 伊人亚洲福利一区二区三区| 日韩av大片免费看| 亚洲一级片在线看| 国产婷婷色综合av蜜臀av| 国产精品久久婷婷六月丁香| zzijzzij亚洲日本成熟少妇| 一区二区三区回区在观看免费视频| 热久久视久久精品18亚洲精品| 亚洲日韩欧美视频一区| 国产精品av电影| 欧洲午夜精品久久久| 91国产在线精品| 久久成人国产精品| 久久最新资源网| 国产精品久久久久久中文字| 992tv在线成人免费观看| 97精品一区二区视频在线观看| 久久精品久久久久久| 91色精品视频在线| 国产欧美一区二区三区四区| 久久国产精品影片| 国产精品天天狠天天看| 2019中文字幕在线观看| 欧美精品在线免费播放| 大伊人狠狠躁夜夜躁av一区| 中日韩美女免费视频网址在线观看| 亚洲午夜激情免费视频| www.日韩系列| 国产精品日韩欧美| 高清欧美性猛交| 欧美在线激情网| 亚洲欧洲在线播放| 成人免费视频在线观看超级碰| 97超碰蝌蚪网人人做人人爽| 91免费视频网站| 欧美超级免费视 在线| 一个色综合导航| 亚洲一区二区三区成人在线视频精品| 欧美国产日韩一区| 伊人成人开心激情综合网| 97色在线视频| 久久精品中文字幕电影| 亚洲激情久久久| 国产亚洲视频在线| 日韩电影免费观看在线| 国产欧美精品一区二区| 欧美日本国产在线| 精品成人在线视频| 国产精品都在这里| 久久精品国产亚洲精品2020| 国产亚洲一区二区在线| 欧美一级大片在线观看| 成人美女免费网站视频| 国产精品爱啪在线线免费观看|