Blob对象详解

Blob对象详解第一步 聊聊概念 Blob BinaryLargeO 对象代表了一段二进制数据 提供了一系列操作接口 其他操作二进制数据的 API 比如 File 对象 都是建立在 Blob 对象基础上的 继承了它的属性和方法 第二步 两种使用方式 生成 Blob 对象有两种方法 一种是使用 Blob 构造函数 另一种是对现有的 Blob 对象使用 slice 方

(1)Blob 构造函数,接受两个参数。第一个参数是一个包含实际数据的数组,第二个参数是数据的类型,这两个参数都不是必需的。

var a = ["hello", "world"]; var myBlob = new Blob(a, { "type" : "text/xml" }); console.log(myBlob);

(2)Blob 对象的 slice 方法,将二进制数据按照字节分块,返回一个新的 Blob 对象。

var a = ["hello", "world"]; var myBlob = new Blob(a, { "type" : "text/xml" }); var newBlob = myBlob.slice(0, 5); console.log(newBlob);

Blob 对象有两个只读属性:


var objecturl = window.URL.createObjectURL(blob);

上面的代码会对二进制数据生成一个 URL,这个 URL 可以放置于任何通常可以放置 URL 的地方,比如 img 标签的 src 属性。需要注意的是,即使是同样的二进制数据,每调用一次 URL.createObjectURL 方法,就会得到一个不一样的 URL。

这个 URL 的存在时间,等同于网页的存在时间,一旦网页刷新或卸载,这个 URL 就失效。(File 和 Blob 又何尝不是这样呢)除此之外,也可以手动调用 URL.revokeObjectURL 方法,使 URL 失效。

window.URL.revokeObjectURL(objectURL); var blob = new Blob(["Hello hanzichi"]); var a = document.createElement("a"); a.href = window.URL.createObjectURL(blob); a.download = "a.txt"; a.textContent = "Download"; document.body.appendChild(a);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232872.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm修改字体大小和主题_pycharm调字体

    pycharm修改字体大小和主题_pycharm调字体PyCharm主题、字体设置从菜单栏File–>Settings,打开PyCharm设置界面点击Appearance&Behavior–>Appearance,设置IDE主题,推荐Darcula,主要是因为黑色比较不伤眼点击Editor–>Font设置代码编辑器的字体和字号字体(Font)推荐使用DejaVuSansMono。要是找不到这种字体,看见那个绿色的框了吗?取消showonlymonospacedfon

    2022年8月26日
    6
  • ConnectionString属性「建议收藏」

    ConnectionString属性「建议收藏」ConnectionString类似于OLEDB连接字符串,但并不相同。与OLEDB或ADO不同,如果“PersistSecurityInfo”值设置为false(默认值),则返回的连接字符串与用户设置的ConnectionString相同但去除了安全

    2022年7月12日
    21
  • Unity 3D 游戏引擎

    Unity 3D 游戏引擎简介Unity3D也称Unity,是由UnityTechnologies公司开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具。Unity3D可以运行在Windows和MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、WindowsPhone8和Android平台。也可以利用UnityWebPlayer插件发布网页游戏,支持Mac和Windo…

    2022年5月9日
    46
  • 面试题jmeter怎么做性能测试_web测试面试题

    面试题jmeter怎么做性能测试_web测试面试题面试中遇到的问题:1.如何使用Jmeter进行并发测试2.如何设置并发量为10003.如果http请求每个都不一样,如何配置4.如何设置sessionID一、安装配置1.在Terminal中输入命令:ruby-e”$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/…

    2022年9月30日
    4
  • mysql授予用户新建数据库的权限[通俗易懂]

    mysql授予用户新建数据库的权限

    2022年2月14日
    45
  • 几个vbs代码

    几个vbs代码使用方法:新建一个txt文档,将上面的代码复制到txt,然后将文档的后缀名改成vbs。鼠标双击即可执行。第一个:msgbox”做我女朋友好吗”,vbQuestion,”在吗”msgbox(“房产写你名字”)msgbox(“保大”)msgbox(“我妈会游泳”)dimjdowhilej<1SelectCasemsgbox(“做我女朋友好吗”,68,”请郑重的回答我”)Case6j=1Case7msgbox(“再给你一次机会”)endSelect

    2022年5月9日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号