前端项目实战之Base64与File对象(文件对象)互相转化

导读:本篇文章讲解 前端项目实战之Base64与File对象(文件对象)互相转化,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

base64 转 file

/**
 * base64转换为file类型
 * @param base64Url
 * @param filename
 * @returns
 */
export const base64UrlToFile = (base64Url, filename) => {
  const arr = base64Url.split(',');
  const mime = arr[0].match(/:(.*?);/)[1];
  const bstr = atob(arr[1]);
  let n = bstr.length;
  const u8arr = new Uint8Array(n);
  while (n--) {
    u8arr[n] = bstr.charCodeAt(n);
  }
  return new File([u8arr], filename, { type: mime });
};

file 转 base64

/**
 * 通过文件流获取图片的Base64格式的数据
 * @param file
 * @returns
 */
export const getBase64ByFile = (file: any) => {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onload = () => resolve(reader.result);
    reader.onerror = error => reject(error);
  });
};

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/64452.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!