アプレット - スケーラビリティの画像アップロードアップローダーコンポーネント

マイクロ手紙はして拡張することができますいくつかのコンポーネントは、このレコードを見ては、また後で作成することが予想され、当然にも遭遇したいくつかの問題では、より良い関係なく、アニメーションやアップロードのスタイルの、例えば、画像のアップロードコンポーネントのために、そこにあるアプレット人々は回り道を使用しています。

最初のステップ、最初の訪問のウェブサイト、HTTPS:、あなたがこのアップローダーをダウンロードするには//developers.weixin.qq.com/miniprogram/dev/extended/weui/download.html、プログラムに必要なコンポーネントをダウンロードする必要がある、細胞、細胞3 A。

第二のステップは、あなたが3で書かれたモジュールを使用したい、JSONファイルを文書https://developers.weixin.qq.com/miniprogram/dev/extended/weui/uploader.htmlアップロードコンポーネントを表示するには、フォルダコンポーネントの新しいページは、コンポーネントがそれらにダウンロード

 

 

 

第3のステップは、その上に文書は、Ctrl + Vに応じて、使用することで、

なお、

 

 

 アップロード方法、アップロードの写真がアップロード時に、あなたが呼び出す必要があり

 

 

コンポーネントのアップロードでは、解決が正常にアップロード写真の後で、あなたは、コールの解決(オブジェクト)に必要に行って、アップロードが失敗した場合、呼び出しは(オブジェクトを)拒否し、ことに留意すべき故障の方法、に行ってきました、({URLを})を解決しなければならないコールバックの約束成功を示して、あなたは、背景に画像オブジェクトオブジェクトの戻りアドレスを写真をアップロードすることで、オブジェクトは「URLの」アレイである(オブジェクト)を拒否来るように呼び出して、それは、配列でなければなりません成功した方法、またはあなたが成功をアップロードした場合でも、配列を返す、またはあなたが失敗したとは思いませんでした、

 

 

 

 

 

これは、2つ以上が、注意点がある場合、アップロード、あなたがメソッドをアップロードする場合は、1をアップロードすることができ、複数のリターンを配列、またはあなたがして、配列からの最高組み立てることができるだけでなく、注意を要する問題です直接に成功したコールバックを直接解決({URLを})アップロード、

但是如果你的上传方法只能一次传一张,那就需要注意了,我们需要循环来上传。下面就是我的循环上传的方法

 1  uplaodFile(files) {
 2     console.log('upload files', files)
 3     // 文件上传的函数,返回一个promise
 4     return new Promise((resolve, reject) => {
 5       var tempFilePaths = files.tempFilePaths;
 6       //上传返回值
 7       var app = getApp();
 8       var that = this;
 9       that.setData({
10         urlArr: [], //这用来存放上传多张时的路径数组
11       });
12       var object = {};
13       for (var i = 0; i < tempFilePaths.length; i++) {
14         const upload_task = wx.uploadFile({
15           // 模拟https
16           url: app.globalData.uploadUrl, //需要用HTTPS,同时在微信公众平台后台添加服务器地址  
17           filePath: files.tempFilePaths[i], //上传的文件本地地址    
18           name: 'file',
19           //附近数据,这里为路径     
20           success: function(res) {
21             var images = that.data.images;
22             var data = JSON.parse(res.data);
23             if (data.status == "ok") {
24               var url = data.url
25               that.setData({
26                 urlArr: that.data.urlArr.concat(app.globalData.zzbHttp + url), //拼接多个路径到数组中
27               });
28               object['urls'] = that.data.urlArr;
29               that.setData({
30                 images: images + data.url + ";", //images用来存放路径字符串,保存到数据库中的是这个,用“;”分割,但是返回的路径没有“;”,就自己拼上了
31               });
32               console.log("urlArr:" + that.data.urlArr.length + ";;" + (tempFilePaths.length))
33               console.log(that.data.images);
34               if (that.data.urlArr.length == tempFilePaths.length) {
35                 resolve(object)  //这就是判断是不是最后一张已经上传了,用来返回,
36               }
37             } else {
38               reject(res)
39             }
40           },
41           fail: function(err) {
42             console.log(err)
43           }
44         })
45       }
46     })
47   }

基本上就这些需要注意的点。

  

 

おすすめ

転載: www.cnblogs.com/andzhang/p/11933131.html