JavaScript Blob对象原理及用法详解


Posted in Javascript onOctober 14, 2020

Blob是JavaScript内建对象,表示不可变的原始数据,类似文件的对象。

blob是表示原始数据的不可变对象,这些数据不一定是JavaScript原生格式的,文件接口基于Blob,继承Blob功能并将其扩展为支持用户系统上的文件。

Blob有很多用途:

可以从网络的内容创建。

可以保存到磁盘或从磁盘读取。

例如,它们是FileReader API中使用的File的基础数据结构。

我们可以使用 Blob() 构造函数从其他非blob对象和数据构造Blob。

Blob构造函数

Blob构造函数允许从其他对象创建Blob。例如,从字符串构造Blob。

let hero = {name: 'Batman'}
let blobObject = new Blob([jsON.stringify(hero, null, 2)], { type: 'application/json' });
console.log(blobObject);

现在,如果我们在浏览器中运行此文件,我们将在浏览器控制台中看到以下输出。

JavaScript Blob对象原理及用法详解

Blob size 属性

Blob.size 属性返回Blob或File的大小(以字节为单位)。

var sizeInBytes = blob.size

参见以下示例。

let hero = {name: 'Batman'}
let blobObject = new Blob([JSON.stringify(hero, null, 2)],{ type: 'application/json' });
console.log(blobObject.size);

将会输出:22

Blob.slice() 方法

Blob.slice() 函数用于创建新的Blob对象,该对象包含源Blob的指定字节范围内的数据。

instanceOfBlob.slice([start [, end [, contentType]]]);

参见以下代码。

let hero = {name: 'Batman'}
let blobObject = new Blob([JSON.stringify(hero, null, 2)], { type: 'application/json' });
console.log(blobObject.slice(10, 16, { type: 'application/json' }));

输出

JavaScript Blob对象原理及用法详解

总结

使用二进制远程文件时,Blob非常有用。

Blob可能非常大,即也可能包含音频和视频数据。可以动态创建它们,并使用Blob URL用作文件。我们可以通过多种不同方式使用它们,以使它们更有用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
动态创建的表格单元格中的事件实现代码
Dec 30 Javascript
Mootools 1.2教程 选项卡效果(Tabs)
Sep 15 Javascript
Javascript的闭包
Dec 31 Javascript
js封装可使用的构造函数继承用法分析
Jan 28 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
Oct 30 Javascript
JavaScript蒙板(model)功能的简单实现代码
Aug 04 Javascript
详解Vue2 无限级分类(添加,删除,修改)
Mar 07 Javascript
基于vue实现分页/翻页组件paginator示例
Mar 09 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
Sep 14 Javascript
详解Angular2学习笔记之Html属性绑定
Jan 03 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
Mar 06 jQuery
Vue开发环境中修改端口号的实现方法
Aug 15 Javascript
基于javascript原生判断DOM是否加载完毕
Oct 14 #Javascript
JavaScript常用进制转换及位运算实例解析
Oct 14 #Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
Oct 14 #Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
Oct 13 #Javascript
原生JS实现相邻月份日历
Oct 13 #Javascript
jquery简易手风琴插件的封装
Oct 13 #jQuery
原生js实现照片墙效果
Oct 13 #Javascript
You might like
php cookie 登录验证示例代码
2009/03/16 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
获取下拉列表框的值是数组,split,$.inArray示例
2013/11/13 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
JS字符串常用操作方法实例小结
2019/06/24 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
python中os操作文件及文件路径实例汇总
2015/01/15 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
python实现京东秒杀功能
2018/07/30 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
解决yum对python依赖版本问题
2019/07/05 Python
Django中的AutoField字段使用
2020/05/18 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
校园安全广播稿
2014/02/08 职场文书
小学生作文评语大全
2014/04/21 职场文书
测绘工程专业求职信
2014/07/15 职场文书
武夷山导游词
2015/02/03 职场文书
升学宴祝酒词
2015/08/11 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python