我的编程空间,编程开发者的网络收藏夹
学习永远不晚

HTML5中的Blob对象的使用方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

HTML5中的Blob对象的使用方法

这篇文章将为大家详细讲解有关HTML5中的Blob对象的使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

HTML5中的Blob对象和MYSQL中的BLOB类型在概念上是有点区别的。MYSQL中的BLOB类型就只是个二进制数据容器。而HTML5中的Blob对象除了存放二进制数据外还可以设置这个数据的MINE类型,这相当于对文件的储存,其它很多二进制对象也是从这个对象继承的。
  在稍低版本的现代浏览器中,这个Blob对象还没规范化,因此需要BlobBuilder之类的方式来创建。但是现在Blob已经规范到可以直接new它的构造器Blob来创建了,而且浏览器几乎都已经支持了这个方式,所以对于旧标准咱就没必要纠结了。

CSS Code复制内容到剪贴板

var data='<b style="font-size:32px;color:red;">次碳酸钴</b>';   
var blob=new Blob([data],{"type":"text/html"});   
console.log(blob);

HTML5中的Blob对象的使用方法

这样我们就创建了一个Blob对象,注意Blob这个构造器的参数比较诡异,第一个参数是一组数据,所以必须是数组,即使像上面的例子一样只有一个字符串也必须用数组装起来。第二个参数是对这一Blob对象的配置属性,目前也只有一个type也就是相关的MIME需要设置,使用key-value的方式也许是为了今后的扩展。
  那么,把数据做成Blob有什么用呢?对于Blob对象,我们可以创建出一个URL来访问它。使用URL对象的createObjectURL方法。

CSS Code复制内容到剪贴板

var data='<b style="font-size:32px;color:red;">次碳酸钴</b>';   
var blob=new Blob([data],{"type":"text/html"});   
onload=function(){   
  var iframe=document.createElement("iframe");   
  iframe.class="lazy" data-src=URL.createObjectURL(blob);   
  document.body.appendChild(iframe);   
};

HTML5中的Blob对象的使用方法

 不仅是上面例子中的text/html,任何浏览器支持的类型都可以这么用。而且这个Blob-URL的生存周期是从创建到文档释放,不会造成资源的浪费。
  Blob是一个HTML5中很基本的二进制数据对象,很多方法的操作参数都支持使用Blob,这个我一下也列举不出。总之,几乎所有参数类型是二进制数据的方法都支持使用Blob作为参数就对了。所以把数据做成Blob可以让之后的一些列操作变得更方便。

方法

slice()

返回一个新的Blob对象,包含了源Blob对象中指定范围内的数据.

CSS Code复制内容到剪贴板

  1. Blob slice(   
      optional long long start,   
      optional long long end,   
      optional DOMString contentType   
    };

参数
start 可选
开始索引,可以为负数,语法类似于数组的slice方法.默认值为0.
end 可选
结束索引,可以为负数,语法类似于数组的slice方法.默认值为最后一个索引.
contentType 可选
新的Blob对象的MIME类型,这个值将会成为新的Blob对象的type属性的值,默认为一个空字符串.
返回值
一个新的Blob对象,包含了源Blob对象中指定范围内的数据.
注意
如果start参数的值比源Blob对象的size属性的值还大,则返回的Blob对象的size值为0,也就是不包含任何数据.


BlobPropertyBag

一个包含有两个属性type和endings的对象.
type
设置该Blob对象的type属性.
endings(已废弃)
对应于BlobBuilder.append()方法的endings参数.该参数的值可以是"transparent"或者"native".
Blob构造函数用法举例

下面的代码:

CSS Code复制内容到剪贴板

var aFileParts = ["<a id=\"a\"><b id=\"b\">hey!<\/b><\/a>"];   
var oMyBlob = new Blob(aFileParts, { "type" : "text\/xml" }); // the blob

 
等价于:

CSS Code复制内容到剪贴板

  1. var oBuilder = new BlobBuilder();   
    var aFileParts = ["<a id=\"a\"><b id=\"b\">hey!<\/b><\/a>"];   
    oBuilder.append(aFileParts[0]);   
    var oMyBlob = oBuilder.getBlob("text\/xml"); // the blob

 
BlobBuilder接口提供了另外一种创建Blob对象的方式,但该方式现在已经废弃,所以不应该再使用了.

例子:使用类型数组和Blob对象创建一个对象URL

CSS Code复制内容到剪贴板

var typedArray = GetTheTypedArraySomehow();   
var blob = new Blob([typedArray], {type: "application/octet-binary"}); // 传入一个合适的MIME类型   
var url = URL.createObjectURL(blob);
  1. // 会产生一个类似blob:d3958f5c-0777-0845-9dcf-2cb28783acaf这样的URL字符串   

  2. // 你可以像使用一个普通URL那样使用它,比如用在img.class="lazy" data-src上.  

关于HTML5中的Blob对象的使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

HTML5中的Blob对象的使用方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在HTML5中使用Blob对象

这篇文章将为大家详细讲解有关如何在HTML5中使用Blob对象,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方
2023-06-09

JavaServlet中Response对象的使用方法

本文介绍了JavaServlet中Response对象的使用方法,包括设置响应头、设置响应编码、向客户端发送数据、重定向等操作,同时介绍了常用的响应状态码和响应类型,帮助读者更好地理解和掌握Servlet中Response对象的用法
2023-05-18

python Workbook对象的使用方法

这篇文章主要讲解了“python Workbook对象的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python Workbook对象的使用方法”吧!说明1、要创建新的Excel文
2023-06-20

jquery中math对象的方法怎么使用

今天小编给大家分享一下jquery中math对象的方法怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。math对象的方
2023-07-05

如何在HTML5中使用json对象

这期内容当中小编将会给大家带来有关如何在HTML5中使用json对象,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体代码如下所示:
2023-06-09

Java中对象数组的使用方法详解

在Java中,对象数组是一种特殊类型的数组,可以存储任意类型的对象。以下是关于Java对象数组的使用方法的详细解释:1. 声明对象数组:对象数组的声明方式与普通数组相同,只需在类型后面加上方括号[]即可。例如,声明一个存储Person对象的
2023-08-15

pandas中series对象map方法的使用案例

小编给大家分享一下pandas中series对象map方法的使用案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的五大特点是什么python的五大特
2023-06-14

JavaScript中的对象解构方法怎么使用

这篇文章主要介绍“JavaScript中的对象解构方法怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript中的对象解构方法怎么使用”文章能帮助大家解决问题。基础解构const
2023-07-05

javascript中数组与对象的使用方法区别

数组(array)是按次序排列的一组值。JS其实没有真正的数组,只是用对象模拟数组。本质上,数组属于一种特殊的对象。typeof运算符会返回数组的类型是object。在javascript中,数组又可以认为是索引数组,即可以用整数来进行索引。数组和对象在这种情况下非常接近。
2022-12-14

ADO.NET 中如何使用Connection对象方法

这篇文章将为大家详细讲解有关ADO.NET 中如何使用Connection对象方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、Open法子ConnectionString 可选,字符串
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录