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 相关文章推荐
JavaScript Prototype对象
Jan 07 Javascript
jquery插件开发之实现google+圈子选择功能
Mar 10 Javascript
javascript中eval函数用法分析
Apr 25 Javascript
JavaScript中解析JSON数据的三种方法
Jul 03 Javascript
jQuery Real Person验证码插件防止表单自动提交
Nov 06 Javascript
基于jQuery实现简单的折叠菜单效果
Nov 23 Javascript
ReactNative短信验证码倒计时控件的实现代码
Jul 20 Javascript
详解react-router4 异步加载路由两种方法
Sep 12 Javascript
用vue写一个仿简书的轮播图的示例代码
Mar 13 Javascript
Vue.js组件实现选项卡以及切换特效
Jul 24 Javascript
JavaScript canvas实现雪花随机动态飘落
Feb 08 Javascript
LayUI+Shiro实现动态菜单并记住菜单收展的示例
May 06 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按字符串长度分割成数组代码
2015/05/17 PHP
php显示时间常用方法小结
2015/06/05 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
PHP多维数组排序array详解
2017/11/21 PHP
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
jquery实现图片上传之前预览的方法
2015/07/11 Javascript
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
python中去空格函数的用法
2014/08/21 Python
python数组复制拷贝的实现方法
2015/06/09 Python
Python如何实现文本转语音
2016/08/08 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
Sublime开发python程序的示例代码
2018/01/24 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
python 列表、字典和集合的添加和删除操作
2019/12/16 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
详解python中的异常和文件读写
2021/01/03 Python
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
酒店应聘自荐信
2013/11/09 职场文书
保密工作整改报告
2014/11/06 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
学校少先队工作总结
2015/08/12 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
筑梦中国心得体会
2016/01/18 职场文书