七牛form表单上传文件

import Vue from 'vue'
//向服务器获取七牛token,这应该用promiss,待优化
function qiniuToken(cb) {
  Vue.http.get("common/get_qiniu_token.do").then(data => {
    cb(data.body)
  })
}
/**
 * @param {*} f  input文件数组  这应该传入form表单待优化
 * @param {*} token  token
 * @param {*} key  用来设置上传文件名称,不传会用图片md5
 * @param {*} cb 回调
 */
function imgUpdate(f, token, key, cb) {
  let _arr = []
  for (let i = 0; i < f.length; i++) {
    update(f[i], token, key, function (res) {
      _arr.push(res);
      if (_arr.length == f.length) {
        cb(_arr)
      }
    })
  }
}

function update(f, token, key, cb) {
  console.log(f)
  var Qiniu_UploadUrl = "http://up-z2.qiniu.com";
  var xhr = new XMLHttpRequest();
  xhr.open('POST', Qiniu_UploadUrl, true);
  var formData, startDate;
  formData = new FormData();
  if (key !== null && key !== undefined && key !== '') {
    formData.append('key', key)
  };
  formData.append('token', token);
  formData.append('file', f);
  var taking;
  xhr.onreadystatechange = function (response) {
    console.log(xhr)
    if (xhr.readyState == 4 && xhr.status == 200 && xhr.responseText != "") {
      var blkRet = JSON.parse(xhr.responseText);
      if (cb) {
        cb(blkRet)
      }
    }
  };
  xhr.send(formData);
}
export {
  qiniuToken,
  imgUpdate
}

猜你喜欢

转载自blog.csdn.net/bule_chen/article/details/78972808