微信小程序 ES6Promise.all批量上传文件实现代码

微信小程序 ES6Promise.all批量上传文件实现代码

客户端

Page({
  onLoad: function() {
    wx.chooseImage({
      count: 9,
      success: function({ tempFilePaths }) {
        var promise = Promise.all(tempFilePaths.map((tempFilePath, index) => {
          return new Promise(function(resolve, reject) {
            wx.uploadFile({
              url: 'https://www.mengmeitong.com/upload',
              filePath: tempFilePath,
              name: 'photo',
              formData: {
                filename: 'foo-' + index,
                index: index
              },
              success: function(res) {
                resolve(res.data);
              },
              fail: function(err) {
                reject(new Error('failed to upload file'));
              }
            });
          });
        }));
        promise.then(function(results) {
          console.log(results);
        }).catch(function(err) {
          console.log(err);
        });
      }
    });
  }
});

服务端

<?php
use IlluminateHttpRequest;
Route::post('/upload', function (Request $request) {
  if ($request->photo->isValid()) {
    $request->photo->storeAs('images/foo/bar/baz', $request->filename . '.' . $request->photo->extension());
    return ['success' => true, 'index' => $request->index];
  }
});

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。