首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >base64转file文件源码记录

base64转file文件源码记录

作者头像
何处锦绣不灰堆
发布2020-05-28 23:03:32
1.7K0
发布2020-05-28 23:03:32
举报
场景

我们前后端交互图片的时候,一般我们是用base64进行交互的,但是很多时候我们传递图片的时候很多的后端是需要file文件格式的,而不是base64的,所以这个时候是需要进行一个简单的转变

源码记录
 /**
       * @dataURLtoBlob 转文件格式
       */
      dataURLtoBlob : function(dataurl) {
        let arr = dataurl.split(','),
          mime = arr[0].match(/:(.*?);/)[1],
          bstr = atob(arr[1]),
          n = bstr.length,
          u8arr = new Uint8Array(n);
        while(n--) {
          u8arr[n] = bstr.charCodeAt(n);
        }
        return new Blob([u8arr], {
          type: mime
        });
      },
      /**
       * @param {Object} theBlob 文件
       * @param {Object} fileName 文件名字
       */
      blobToFile : function(theBlob, fileName) {
        theBlob.lastModifiedDate = new Date();
        theBlob.name = fileName;
        return theBlob;
      },
调用
			  let blob = that.dataURLtoBlob(data);
              let file = that.blobToFile(blob, "imgName");
              let send_file = new FormData();
              send_file.append("upfile", file,"image.png");

send_file就是我们需要的给后端的文件,这篇文章只是用来记录一下,所以不写别的废话了,这里简单的说一下,我们拿到一个base64文件的时候,想验证一下是不是正确的格式的话,那么我们是可以直接放到url里面,他可以识别出图片本身,那么就是一个正确的base64,如果不行,那么就不是一个正确的base64格式的文件,还有就是直接在网上找在线转换的工具,这个是很多的。

谢谢阅读
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景
    • 源码记录
    • 调用
    • 谢谢阅读
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档