ホームページ > ウェブフロントエンド > jsチュートリアル > WeChatミニプログラムでの複数画像アップロードの実装コード例

WeChatミニプログラムでの複数画像アップロードの実装コード例

零下一度
リリース: 2018-05-17 15:31:41
オリジナル
3120 人が閲覧しました

この記事では主にWeChatアプレットで複数の写真をアップロードする機能を詳しく紹介しますので、興味のある友達は参考にしてください

WeChatアプレットでは一度に1枚の写真しかアップロードできません。複数の写真をアップロードしたい場合はどうすればよいかを尋ねられます。

まず、wx.chooseImage(object) と wx.uploadFile(OBJECT) の 2 つの API を見てみましょう

サンプルコードは次のようなものです:

wx.chooseImage({
 success: function(res) {
  var tempFilePaths = res.tempFilePaths
  wx.uploadFile({
   url: 'http://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
   filePath: tempFilePaths[0],
   name: 'file',
   formData:{
    'user': 'test'
   },
   success: function(res){
    var data = res.data
    //do something
   }
  })
 }
})
ログイン後にコピー

サンプルコードはこちら 、写真を選択し、選択した写真の中から最初の写真をアップロードします

次に、複数の写真をアップロードする例を書いてみましょう

まず、まだ写真を選択する必要があります

wx.chooseImage({
 success: function(res) {
  var tempFilePaths = res.tempFilePaths;//这里是选好的图片的地址,是一个数组
  
 }
})
ログイン後にコピー

次に、アプリに複数の写真を書き込みます。 js 画像をアップロードする方法は後ほど 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,失败也会执行这里
      },
      fail: (res) => {
        fail++;
        console.log('fail:'+i+"fail:"+fail);
      },
      complete: () => {
        console.log(i);
        i++;
      if(i==data.path.length){  //当图片传完时,停止调用     
        console.log('执行完毕');
        console.log('成功:'+success+" 失败:"+fail);
      }else{//若图片还没有传完,则继续调用函数
        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, // 最多可以选择的图片张数,默认9
      sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
      sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
      success: function(res){
      var imgsrc=res.tempFilePaths;  
      that.setData({
        pics:imgsrc
      });
   },
   fail: function() {
    // fail
   },
   complete: function() {
    // complete
   }
  })

  },
  uploadimg:function(){//这里触发图片上传的方法
    var pics=this.data.pics;
    app.uploadimg({
      url:'https://........',//这里是你图片上传的接口
      path:pics//这里是选取的图片的地址数组
    });
 },
  onLoad:function(options){

 }

})
ログイン後にコピー

以上がWeChatミニプログラムでの複数画像アップロードの実装コード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート