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 相关文章推荐
Jquery多选框互相内容交换的实例代码
Jul 04 Javascript
javascript中的document.open()方法使用介绍
Oct 09 Javascript
推荐6款基于jQuery实现图片效果插件
Dec 07 Javascript
浏览器兼容的JS写法总结
Apr 27 Javascript
Ionic快速安装教程
Jun 03 Javascript
实例解析Array和String方法
Dec 14 Javascript
详解angular中通过$location获取路径(参数)的写法
Mar 21 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
Aug 26 Javascript
浅谈webpack4.x 入门(一篇足矣)
Sep 05 Javascript
layUI实现前端分页和后端分页
Jul 27 Javascript
Vue 实现简易多行滚动"弹幕"效果
Jan 02 Javascript
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
基于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
域名查询代码公布
2006/10/09 PHP
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
php对数组排序的简单实例
2013/12/25 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
php多进程应用场景实例详解
2019/07/22 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
2016/06/27 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
python实现在字符串中查找子字符串的方法
2015/07/11 Python
Django中使用locals()函数的技巧
2015/07/16 Python
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
一些.net面试题
2014/10/06 面试题
EJB的几种类型
2012/08/15 面试题
高级人员简历的自我评价分享
2013/11/03 职场文书
外语学院毕业生的自我鉴定
2013/11/28 职场文书
本科毕业生自荐信
2014/05/26 职场文书
公证委托书标准格式
2014/09/11 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
新党章的学习心得体会
2014/11/07 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
少先队工作总结2015
2015/05/13 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python