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 相关文章推荐
js对象内部访问this修饰的成员函数示例
Apr 27 Javascript
JavaScript拆分字符串时产生空字符的解决方案
Sep 26 Javascript
JS+CSS实现六级网站导航主菜单效果
Sep 28 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
jquery按回车键实现表单提交的简单实例
May 25 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
Nov 09 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
Jul 17 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
Sep 13 Javascript
原生js实现文件上传、下载、封装等实例方法
Jan 05 Javascript
vue组件入门知识全梳理
Sep 21 Javascript
基于JQuery和DWR实现异步数据传递
Oct 16 jQuery
多个Vue项目部署到服务器的步骤记录
Oct 22 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
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
使用jQuery实现更改默认alert框体
2015/04/13 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
jQuery实现两个select控件的互移操作
2016/12/22 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
JavaScript实现HSL拾色器
2020/05/21 Javascript
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
Python日期操作学习笔记
2008/10/07 Python
python3.5绘制随机漫步图
2018/08/27 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
python通过实例讲解反射机制
2019/10/17 Python
如何用Python绘制3D柱形图
2020/09/16 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
会计实习生自我鉴定
2013/12/12 职场文书
庆元旦活动总结
2014/07/09 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL
Python制作表白爱心合集
2022/01/22 Python
JS实现九宫格拼图游戏
2022/06/28 Javascript
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL