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表单提交的代码
Sep 13 Javascript
jQuery实现文本框邮箱输入自动补全效果
Nov 17 Javascript
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
JavaScript数组去重算法实例小结
May 07 Javascript
vue自定义tap指令及tap事件的实现
Sep 18 Javascript
Puppeteer环境搭建的详细步骤
Sep 21 Javascript
Angularjs实现数组随机排序的方法
Oct 02 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
Jan 21 Javascript
基于layui框架响应式布局的一些使用详解
Sep 16 Javascript
vue element upload组件 file-list的动态绑定实现
Oct 11 Javascript
vue实现点击按钮下载文件功能
Oct 11 Javascript
Vue 列表页带参数进详情页的操作(router-link)
Nov 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
如何将数据从文本导入到mysql
2006/10/09 PHP
php 应用程序安全防范技术研究
2009/09/25 PHP
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
js中符号转意问题示例探讨
2013/08/19 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
Django框架视图函数设计示例
2019/07/29 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
苹果台湾官网:Apple台湾
2019/01/05 全球购物
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书