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

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

 更新時(shí)間:2017年06月07日 14:18:27   作者:西江無(wú)月  
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)多張圖片上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

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

首先,我們來(lái)看一看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{//若圖片還沒(méi)有傳完,則繼續(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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論