如何将一张base64图片转化成blob然后上传到服务器

2024年12月25日 建站教程

// url 表示base64的字符串
// name 表示文件名,附加到blob上
uploadFile(url, name) {
  // 以逗号划分类型和内容
  let arr = url.split(',')
  // 截取类型
  let mime = arr[0].match(/:(.*);/)[1]
  // 将base64格式的字符转回原本的字符格式
  let bstr = window.atob(arr[1])
  let n = bstr.length,
  u8arr = new Uint8Array(n)
  while (n--) {
    // 将ascll码值储存到无符号数组中
    u8arr[n] = bstr.charCodeAt(n)
  }
  // 转化blob
  let blob = new Blob([u8arr], { type: mime })
  blob.lastModifiedDate = new Date()
  blob.name = name
  // 构造FormData
  let formData = new FormData();
  formData.append('time', moment().format('YYYYMMDD'))
  formData.append('file', blob)
  console.log(blob)
  // 发送请求
  stationData.uploadImg(formData).then(res => {
    console.log('aasad', res)
  })
}

本文链接:http://so.lmcjl.com/news/20111/

展开阅读全文