// Base64 转 Blob
function dataURLtoBlob(dataurl) {var arr = dataurl.split(','), //分割为数组,分割到第一个逗号let mime = arr[0].match(/:(.*?);/)[1],//获取分割后的base64前缀中的类型let bstr = window.atob(arr[1]), let n = bstr.length, let u8arr = new Uint8Array(n);while (n--) {u8arr[n] = bstr.charCodeAt(n);}return new Blob([u8arr], { type: mime//文件类型格式 });
}
// Blob 转 Base64
function blobToDataURL(blob, callback) {let a = new FileReader();a.onload = function (e) { callback(e.target.result); }a.readAsDataURL(blob);
}
// 创建Blob对象(旧方法)
var builder = new BolbBuilder();
builder.append("Hello World!");
var blob = builder.getBlob("text/plain");
// 创建Blob对象(新方法)
var blob = new Blob(["Hello World!"],{type:"text/plain"});

Blob 的应用

1.大文件分割 (slice() 方法)slice() 方法接受三个参数,起始偏移量,结束偏移量,还有可选的 mime 类型。如果 mime 类型,没有设置,那么新的 Blob 对象的 mime 类型和父级一样。
2. 当要上传大文件的时候,此方法非常有用,可以将大文件分割分段,然后各自上传,因为分割之后的 Blob 对象和原始的是独立存在的。
不过目前浏览器实现此方法还没有统一,火狐使用的是 mozSlice() ,Chrome 使用的是 webkitSlice() ,其他浏览器则正常的方式 slice() 。

//兼容各浏览器的写法function sliceBlob(blob, start, end, type) {type = type || blob.type;if (blob.mozSlice) {return blob.mozSlice(start, end, type);} else if (blob.webkitSlice) {return blob.webkitSlice(start, end type);} else {throw new Error("This doesn't work!");}
}

Base64与BLOB互相转换相关推荐

  1. 身份证信息登记,涉及base64和blob二进制之间的转换

    1.UBUtil类,处理Blob值 package com.taxsearch.controller;import java.io.IOException; import java.sql.Blob; ...

  2. url、base64、blob,三者之间的转化

    对于vue项目,我们使用axiso来发送请求,如果传递二进制图片时出现乱码,这个是什么问题? 答: axios 默认返回的是 json 文本形式,二进制图片数据被强制转换成了 json 文本形式. 解 ...

  3. base64、blob格式相互转换及应用

    1.Base64 to Blob function dataURLtoBlob(dataurl) {var arr = dataurl.split(','), //分割为数组,分割到第一个逗号let ...

  4. Scratch上传作品加载之分析(封面获取),base64转blob 前后端方案,前端 后端 解析base64为Blob,2021年较底层进行sb3作品渲染

    采坑的初衷: 考虑到作品的私有性.用户上传的作品必须是私有的,当且仅当用户设置作品公开 (理论上得提交给管理员,进行审核,管理员进行操作).那么才能够通过projectHost的方式去请求. 也就是说 ...

  5. c++ 解析从浏览器端传过来的图像base64编码,并转换成opencv识别的格式

    from: c++ 解析从浏览器端传过来的图像base64编码,并转换成opencv识别的格式 #include <cstdint> #include <fstream> #i ...

  6. python 图片base64 编解码,转换成Opencv,PIL.Image图片格式

    Python PIL.Image和OpenCV图像格式相互转换 二进制打开图片文件,base64编解码转成Opencv格式: # coding: utf-8 import base64 import ...

  7. java base64字符 转图片_JAVA实现图片与base64字符串之间的转换详解

    import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...

  8. Java接受前端的base64,转换失败。base64转图片互相转换

    spring boot前后端vue,base64转图片互相转换 vue就不展示了,下边只展示Java中互相转换的例子. Java实现图片转化成base64字符串 //图片转化成base64字符串 pu ...

  9. audio标签 FileReader blob转base64 base64转blob 语音

    base64转blob内容 function sentComment() {var url = $("#albumItemCommentURL").val();var params ...

最新文章

  1. c语言中程序偏离,C语言程序员在编码时容易出错的几个点
  2. 判断一个字符串是否全部不相同
  3. Principles of Reactive Programming 之Actors are Distributed (1)
  4. 【Envi风暴】Envi5.4经典安装图文教程
  5. java box unboxing
  6. 配置汇编环境:使用vs2010+MASM
  7. Author Topic Model[ATM理解及公式推导]
  8. uva 10594(最小费用最大流)
  9. 窃取发送到服务器的任何信息,担心信息泄密?MIUI 11测试“空信息授权”,保护你的隐私...
  10. 提升访问github.com网址的速度
  11. 使用java创建kafka的生产者和消费者
  12. mysql 命令 kill_当MySQL事务中发生了网络异常
  13. iOS开发-代替UDID被弃用和UUID使用缺陷的解决方案
  14. 量子物理 詹班 计算机,连爱因斯坦都被困其中,量子力学到底有多厉害?
  15. 2021年塔式起重机司机考试及塔式起重机司机复审考试
  16. Nginx设置开启/关闭/重启/开机自启
  17. GameFi独角兽区块帝国,今日开启全球IDO
  18. excel简繁转换 excel中文简繁转换不在了该怎么办?
  19. android 删除号码恢复,手机联系人误删了怎么恢复
  20. mysql查找表中员工姓名性别_SQL 常见面试题解析

热门文章

  1. (六)光学显微镜实验报告
  2. HTML5 单个或者多个Video标签视频加载第一帧方法(poster属性)
  3. 设计模式(行为型)之观察者模式(Observer Pattern)
  4. Java使用 Delayed 实现延迟任务
  5. 快速学习COSMIC方法之十五:如何度量需求变更的规模
  6. cosmic文档编写
  7. growth hacker
  8. 苹果手机无法充电-iPhone 12 5G成本上涨若能守住价格 不送充电器也真香
  9. 2019酒店旅游业喜迎“猪年”春节新动态
  10. 语音识别sdk for ios android,iOS 微信语音SDK 简单使用