真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

微信小程序多張圖片上傳功能

微信小程序上傳圖片每次只能上傳一張,所有很多朋友就會(huì)問想要多張圖片上傳怎么辦?

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)米脂,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

這里使用遞歸,當(dāng)上傳完一張圖片后重新執(zhí)行這個(gè)函數(shù),直到所有的圖片都上傳完成后,就不再調(diào)用該函數(shù)。

首先,我們來看一看wx.chooseImage(object)和wx.uploadFile(OBJECT)這兩個(gè)個(gè)api

微信小程序多張圖片上傳功能

微信小程序多張圖片上傳功能

 示例代碼是這樣的:

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

這里的示例代碼,是選擇圖片,然后上傳選中的圖片中的第一個(gè)圖片;

現(xiàn)在開始寫多張圖片上傳的例子

首先,我們還是要選擇圖片 

wx.chooseImage({
 success: function(res) {
 var tempFilePaths = res.tempFilePaths;//這里是選好的圖片的地址,是一個(gè)數(shù)組
 
 }
})

然后在app.js中寫一個(gè)多張圖片上傳的方法,后面引入,你也可以寫在一個(gè)JS文件中,后面引入:

 //多張圖片上傳
 function uploadimg(data){
 var that=this,
 i=data.i?data.i:0,
 success=data.success?data.success:0,
 fail=data.fail?data.fail:0;
 wx.uploadFile({
 url: data.url, 
 filePath: data.path[i],
 name: 'fileData',
 formData:null,
 success: (resp) => {
 success++;
 console.log(resp)
 console.log(i);
 //這里可能有BUG,失敗也會(huì)執(zhí)行這里
 },
 fail: (res) => {
 fail++;
 console.log('fail:'+i+"fail:"+fail);
 },
 complete: () => {
 console.log(i);
 i++;
 if(i==data.path.length){ //當(dāng)圖片傳完時(shí),停止調(diào)用 
 console.log('執(zhí)行完畢');
 console.log('成功:'+success+" 失?。?+fail);
 }else{//若圖片還沒有傳完,則繼續(xù)調(diào)用函數(shù)
 console.log(i);
 data.i=i;
 data.success=success;
 data.fail=fail;
 that.uploadimg(data);
 }
 
 }
 });
 }

多張圖片上傳的方法寫好了,下面就是引用:

var app=getApp();
Page({
 data:{
 pics:[]
 },
 choose:function(){//這里是選取圖片的方法
 var that=this;
 wx.chooseImage({
 count: 9-pic.length, // 最多可以選擇的圖片張數(shù),默認(rèn)9
 sizeType: ['original', 'compressed'], // original 原圖,compressed 壓縮圖,默認(rèn)二者都有
 sourceType: ['album', 'camera'], // album 從相冊(cè)選圖,camera 使用相機(jī),默認(rèn)二者都有
 success: function(res){
 var imgsrc=res.tempFilePaths; 
 that.setData({
 pics:imgsrc
 });
 },
 fail: function() {
 // fail
 },
 complete: function() {
 // complete
 }
 })

 },
 uploadimg:function(){//這里觸發(fā)圖片上傳的方法
 var pics=this.data.pics;
 app.uploadimg({
 url:'https://........',//這里是你圖片上傳的接口
 path:pics//這里是選取的圖片的地址數(shù)組
 });
 },
 onLoad:function(options){

 }

})

剛好寫了一個(gè)node上傳圖片代碼,親測(cè)可以使用,

一個(gè)簡(jiǎn)單的PHP接收代碼:

<?php 
 $imgname = $_FILES['file']['name'];
 $tmp = $_FILES['file']['tmp_name'];
 $filepath = 'now/';//記得要自己創(chuàng)建這個(gè)文件夾
 if(move_uploaded_file($tmp,$filepath.$imgname.".png")){
  echo "上傳成功";
 }else{
  echo "上傳失敗";
 }

 ?>

完結(jié)。

為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


當(dāng)前名稱:微信小程序多張圖片上傳功能
當(dāng)前URL:http://weahome.cn/article/gdpphg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部