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 相关文章推荐
取得传值的函数
Oct 27 Javascript
Javascript类库的顶层对象名用户体验分析
Oct 24 Javascript
jQuery学习笔记之2个小技巧
Jan 19 Javascript
javascript实现根据时间段显示问候语的方法
Jun 18 Javascript
JavaScript操作class和style样式代码详解
Feb 13 Javascript
js select下拉联动 更具级联性!
Apr 17 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
Mar 15 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
Apr 24 Javascript
JS实现简单拖拽效果
Jun 21 Javascript
详解vue项目中实现图片裁剪功能
Jun 07 Javascript
javascript的delete运算符知识点总结
Nov 19 Javascript
详解JS WebSocket断开原因和心跳机制
May 07 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面向对象全攻略 (十) final static const关键字的使用
2009/09/30 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
非主流的textarea自增长实现js代码
2011/12/20 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
JavaScript中Function详解
2015/02/27 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
使用selenium模拟登录解决滑块验证问题的实现
2019/05/10 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
师范毕业生求职自荐信
2013/09/25 职场文书
学前教育毕业生自荐信范文
2013/12/24 职场文书
施工资料员岗位职责
2014/01/06 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
小班秋游活动方案
2014/02/22 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
安全教育的主题班会
2015/08/13 职场文书