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 相关文章推荐
document.documentElement && document.documentElement.scrollTop
Dec 01 Javascript
基于jQuery实现模拟页面加载进度条
Apr 01 Javascript
网页整体变灰白色(兼容各浏览器)实例
Apr 21 Javascript
基于JavaScript 类的使用详解
May 07 Javascript
微信小程序 参数传递详解
Oct 24 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
Jan 05 Javascript
基于Vue实现支持按周切换的日历
Sep 24 Javascript
使用angular-cli webpack创建多个包的方法
Oct 16 Javascript
详解新手使用vue-router传参时注意事项
Jun 06 Javascript
Vue配置marked链接添加target="_blank"的方法
Jul 19 Javascript
vue+element 实现商城主题开发的示例代码
Mar 26 Javascript
js实现简单的轮播图效果
Dec 13 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 文件类型判断代码
2009/03/13 PHP
PHP Cookie的使用教程详解
2013/06/03 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
PHP进程同步代码实例
2015/02/12 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
javascript call和apply方法
2008/11/24 Javascript
jQuery aminate方法定位到页面具体位置
2013/12/26 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
一个检测表单数据的JavaScript实例
2014/10/31 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
jquery实现树形菜单完整代码
2015/12/29 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
详谈Node.js之操作文件系统
2017/08/29 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
Python中用Spark模块的使用教程
2015/04/13 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
Django实现基于类的分页功能
2019/10/31 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
大专生简历的自我评价
2013/11/26 职场文书
车间组长岗位职责
2013/12/20 职场文书
学生鉴定评语大全
2014/05/05 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
运动与健康自我评价
2015/03/09 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
社区志愿服务活动感想
2015/08/07 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
同学聚会开幕词
2019/04/02 职场文书
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL