JavaScript Blob对象原理及用法详解

 更新时间:2020年10月14日 09:25:10   作者:酷儿q  
这篇文章主要介绍了JavaScript Blob对象原理及用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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);

现在,如果我们在浏览器中运行此文件,我们将在浏览器控制台中看到以下输出。

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' }));

输出

总结

使用二进制远程文件时,Blob非常有用。

Blob可能非常大,即也可能包含音频和视频数据。可以动态创建它们,并使用Blob URL用作文件。我们可以通过多种不同方式使用它们,以使它们更有用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 微信小程序实现topBar底部选择栏效果

    微信小程序实现topBar底部选择栏效果

    这篇文章主要为大家详细介绍了微信小程序实现topBar底部选择栏效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • 基于JavaScript实现Tab选项卡切换效果

    基于JavaScript实现Tab选项卡切换效果

    这篇文章主要介绍了基于JavaScript实现Tabs选项卡切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • JavaScript–Apple设备检测示例代码

    JavaScript–Apple设备检测示例代码

    JavaScript–Apple设备检测示例代码。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • js判断上传文件后缀名是否合法

    js判断上传文件后缀名是否合法

    这篇文章主要介绍了js判断上传文件后缀名是否合法的具体方法,以一个完整实例分析了javascript判断上传文件后缀名是否合法的方法,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • C++中的string类的用法小结

    C++中的string类的用法小结

    通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了!
    2015-08-08
  • 浅析js的模块化编写 require.js

    浅析js的模块化编写 require.js

    requirejs是一个JavaScript文件和模块加载器。requireJS允许你把你的javascript代码独立成文件和模块,同时管理每个模块间的依赖关系。本文主要对require.js的使用与工作原理进行系统介绍。需要的朋友来看下吧
    2016-12-12
  • 小程序中设置缓存过期的实现方法

    小程序中设置缓存过期的实现方法

    这篇文章主要介绍了小程序中设置缓存过期的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 微信小程序Vant组件库的安装与使用教程

    微信小程序Vant组件库的安装与使用教程

    之前推荐过的移动端web组件库 Vant是Vue.js版本的,其对内承载了有赞所有核心业务,对外有十多万开发者在使用,一直是业界主流的移动端组件库之一,下面这篇文章主要给大家介绍了关于微信小程序Vant组件库的安装与使用的相关资料,需要的朋友可以参考下
    2022-09-09
  • javascript写一个ajax自动拦截并下载数据代码实例

    javascript写一个ajax自动拦截并下载数据代码实例

    这篇文章主要介绍了javascript写一个ajax自动拦截并下载数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • JS中的继承操作实例总结

    JS中的继承操作实例总结

    这篇文章主要介绍了JS中的继承操作,结合实例形式总结分析了JS中的原型链继承、构造函数继承、组合继承、class继承等常见继承操作实现技巧,需要的朋友可以参考下
    2020-06-06

最新评论