文件base64 blob file互转

2020-07-09  本文已影响0人  芸芸众生ing
   to(file, type, toType) {
      return Promise(Response => {
        if (type == "base64" && toType == "blob") {
          let arr = file.split(",");
          let img = window.atob(arr[1]);
          let mime = arr[0].match(/:(.*?);/)[1];
          let ia = new Uint8Array(img.length);
          for (var i = 0; i < img.length; i++) {
            ia[i] = img.charCodeAt(i);
          }
          Response(new Blob([ia], { type: mime }));
        }

        if (type == "blob" && toType == "file") {
          Response(new File([file], Math.floor(Math.random() * 900) + ".jpeg"));
        }

        if (type == "file" && toType == "base64") {
          var reader = new FileReader();
          reader.onload = function() {
            Response(this.result);
          };
          reader.readAsDataURL(file);
        }
      });
    },
上一篇 下一篇

猜你喜欢

热点阅读