Blob对象

Blob对象:

前言在刷牛课的时候遇到了关于Blob对象,在此特意记一下。
本文将采用:是什么?为什么?怎么做?的方式来阐述Blob对象。

什么是Blob对象:

Blob对象全称是--Binary Large Object,二进制大对象。是一个可以存放二进制文件的容器。

如何创建Blob对象:

  1. 使用new关键字:

    var blob = new Blob(array[optional], options[optional]);
    
  • 第一个参数:为数据序列,可以是任意格式的值。

  • 第二个参数:数据的类型(MIME)

  • 示例:

        let bolb = new Blob(['<h4>HELLO WORLD</h4>'],{type:'text/xml'});
    

2.已知有一Blob对象,为blob,使用blob.slice(startend,content-type),复制到新的Blob对象。

  • 注意,当start+length超出源Blob对象的大小时,将返回从start到结尾的数据。

  • 有些浏览器在使用slice时可能需要加前缀。如: blob.mozSlice(),blob.webkitSlice()

属性:

  • .size:Blob 对象中所包含数据的大小(字节)。

    只读
    
  • .type:一个字符串,表明该Blob对象所包含数据的MIME类型。如果类型未知,则该值为空字符串。

    只读
    

示例:



        let arr = [

                    '<h4>HELLO WORLD</h4>',

                    '<h3>HELLO WORLD</h3>',

                    '<h2>HELLO WORLD</h2>',

                    '<h1>HELLO WORLD</h1>',

                    ];

        let blob = new Blob(arr,{type:'text/xml'});

        let newBlob = blob.slice(0,4);

        console.log(typeof newBlob);

    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Blob 对象是一种表示不可变的二进制数据的类型,类似于文件对象。在 Web 开发中,Blob 对象主要用于处理二进制数据,例如上传和下载文件、处理音频和视频数据等。Blob 类型的对象可以通过构造函数 new Blob(data, options) 来创建,其中 data 是一个数组或者数组缓冲区,用于存储二进制数据;options 是一个可选参数,用于指定 Blob 对象的 MIME 类型。 Blob 对象具有以下特点: 1. Blob 对象是不可变的,即创建后无法修改。 2. Blob 对象具有 size 属性,表示 Blob 对象的大小(字节数)。 3. Blob 对象具有 type 属性,表示 Blob 对象的 MIME 类型。 对于 Blob 对象的基本用法,可以使用 slice 方法对 Blob 对象进行切割,生成新的 Blob 对象。slice 方法接受两个参数,start 和 end,表示切割的起始位置和结束位置(不包含结束位置),返回一个新的 Blob 对象。 例如,以下是 Blob 对象的基本用法的示例: ```javascript var data = "abcdef"; var blob1 = new Blob([data]); var blob2 = blob1.slice(0, 3); console.log(blob1); // 输出:Blob {size: 6, type: ""} console.log(blob2); // 输出:Blob {size: 3, type: ""} ``` 另外,Blob 对象创建时,可以传入不同类型的数据,例如字符串、数组、对象等。Blob 对象会根据传入的数据类型进行相应的处理。 例如,以下是创建 Blob 对象时传入不同类型数据的示例: ```javascript var data1 = "a"; var data2 = "b"; var data3 = "<div style='color:red;'>This is a blob</div>"; var data4 = { "name": "abc" }; var blob1 = new Blob([data1]); // Blob 对象的 size 为 1 var blob2 = new Blob([data1, data2]); // Blob 对象的 size 为 2 var blob3 = new Blob([data3]); // Blob 对象的 size 为 44 var blob4 = new Blob([JSON.stringify(data4)]); // Blob 对象的 size 为 14 var blob5 = new Blob([data4]); // Blob 对象的 size 为 15 var blob6 = new Blob([data3, data4]); // Blob 对象的 size 为 59 console.log(blob1); console.log(blob2); console.log(blob3); console.log(blob4); console.log(blob5); console.log(blob6); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值