Base64文件和Blob互转

62 阅读1分钟

Base64转blob文件

/**
 * 将base64转为blob
 * @param dataURI base64类型文件
 * @param type 文件类型
 * @returns  Blob对象
 * */ 
export function dataURLtoFile(dataURI, type) {
  const binary = window.atob(dataURI.split(',')[1])
  const array = []
  for (let i = 0; i < binary.length; i++) {
    array.push(binary.charCodeAt(i))
  }
  return new Blob([new Uint8Array(array)], { type: type })
}

Blob转为Base64

/** * 将blob转为base64
* @param blob blob类型文件 
* @returns Base64对象 * 
*/
export function convertToBase64(blob){
   return new Promise((resolve, reject) => {
      const reader = new FileReader()
      reader.readAsDataURL(blob)
      reader.onloadend = () => resolve(reader.result)
      reader.onerror = error => reject(error)
   }
}