blob和base64互转

简介: blob和base64互转

交易场上的朋友胜过柜子里的钱款——托·富勒

blobbase64

// blob转base64
async function blobToBase64(blob) {
    let buffer = await blob.arrayBuffer()
    let bytes = new Uint8Array(buffer);
    console.log(bytes)
    // do anything with the byte array here
    let binary = ''
    var len = bytes.byteLength;
    for (var i = 0; i < len; i++) {
        binary += String.fromCharCode(bytes[i]);
    }
    base64 = 'data:image/webp;base64,' + window.btoa(binary)
    console.log(base64)
    return base64
}


base64blob

// base64转blob
      function base64ToBlob(code) {
          let parts = code.split(';base64,')
          let contentType = parts[0].split(':')[1]
          let raw = window.atob(parts[1]) // 解码base64得到二进制字符串
          let rawLength = raw.length
          let uInt8Array = new Uint8Array(rawLength) // 创建8位无符号整数值的类型化数组
          for (let i = 0; i < rawLength; ++i) {
              uInt8Array[i] = raw.charCodeAt(i) // 数组接收二进制字符串
          }
          return new Blob([uInt8Array], { type: contentType })
      }

下载blob资源路径与blobUrl互转

相关文章
|
Android开发 iOS开发 MacOS
APP备案公钥、证书MD5指纹/签名MD5值获取最简单方法
APP备案公钥、证书MD5指纹/签名MD5值获取方法,Android安卓平台、Windows平台、macOS平台,三个平台获取方法, Android平台使用 APP备案助手,各大安卓应用市场搜索 APP备案助手 即可,Windows/macOS平台使用jadx-gui工具。
10235 3
|
Unix Shell Linux
客户端如何查找FTP服务器的用户名和密码
客户端如何查找FTP服务器的用户名和密码
|
JavaScript 前端开发
JS之url进行编码和解码(三种方式)
JS之url进行编码和解码(三种方式)
20342 2
|
JavaScript Java Maven
Nexus3.6安装、setting配置和jar包deploy
Nexus3.6安装、setting配置和jar包deploy
Nexus3.6安装、setting配置和jar包deploy
|
JavaScript 前端开发
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示
|
5月前
|
运维 监控 Python
Python 微服务架构实践:从模块化到轻量级分布式
本文详解Python微服务落地路径:从模块化拆分、轻量框架封装,到服务通信、注册发现,再到Docker容器化部署与监控运维,系统阐述中小团队如何以低成本实现“低耦合、快迭代”的分布式架构。
|
7月前
|
数据采集 自然语言处理 数据可视化
Python爬取B站视频评论区情感分析:从数据采集到价值挖掘
B站作为年轻人聚集地,评论蕴含丰富情感与趋势。本文详解如何用Python爬取评论,结合SnowNLP与jieba进行中文情感分析,并通过可视化挖掘用户情绪、消费意愿与内容反馈,助力精准运营与决策。
999 0
|
JavaScript 前端开发 UED
PDF在线预览实现:如何使用vue-pdf-embed实现前端PDF在线阅读
本文详细介绍了如何在Vue项目中使用vue-pdf-embed实现PDF文件的在线展示。从项目初始化、插件集成到高级功能的实现和部署优化,希望对你有所帮助。在实际项目中,灵活运用这些技术可以大大提升用户体验和项目质量。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
深入理解 uni-app 页面生命周期(三):onHide vs onUnload
深入理解 uni-app 页面生命周期(三):onHide vs onUnload
1568 0
|
缓存 前端开发 Linux
哇塞!NPM 缓存竟成开发拦路虎?快来掌握清空秘籍,开启前端开发逆袭之旅!
【8月更文挑战第20天】NPM是前端开发中管理依赖的关键工具。有时需清空其缓存以解决版本不一致或包损坏等问题,确保使用最新依赖。可通过命令`npm cache clean --force`强制清空全部缓存,或手动删除各系统下的缓存文件夹。注意清空缓存可能延长后续安装时间,建议事先备份依赖或确保可重新安装。正确管理缓存有助于提升开发效率。
862 1