axios能不能把base64还原成文件上传?

发布于 2022-09-11 18:48:09 字数 90 浏览 10 评论 0

如题 现在通过粘贴事件,拿到了图片文件的base64

我想把他还原成原文件上传,需要怎么做呢?

因为base64比原始的大

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枉心 2022-09-18 18:48:09

base64 转 .ico 文件

base64ToBolb = function(url){
  return new Promise(function(resolve,reject){
    var img = new Image()
    img.src = url
    img.crossOrigin="*"
    img.onload = function(){
      var canvas = document.createElement("canvas")
      canvas.width = img.width
      canvas.height = img.height
      var ctx = canvas.getContext("2d")
      ctx.drawImage(img,0,0,canvas.width,canvas.height)
      function blobCallback(iconName) {
        return function(b) {
          var a = document.createElement("a");
          a.textContent = "Download";
          document.body.appendChild(a);
          a.style.display = "block";
          a.download = iconName + ".ico";
          a.href = window.URL.createObjectURL(b);
        }
      }
      resolve(canvas.toBlob(blobCallback('passThisString'), 'image/vnd.microsoft.icon', 
                    '-moz-parse-options:format=bmp;bpp=32'));
    }
    img.onerror = function(){
      reject()
    }
  })
}

使用

base64ToBolb(base64String)
.then(file => console.log(file))
.catch(err => console.warn(err))

参考
https://developer.mozilla.org...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文