原标题:你不知道的 Blob
作者:全栈修仙之路 公号 / semlinker (本文来自作者投稿)
如果你允许用户从你的网站上下载某些文件那你可能会遇到 Blob 类型。为了实现上述的功能你可以很嫆易从网上找到相关的示例,并根据实际需求进行适当的调整对于部分开发者来说,在完成上述功能之后他们并不会继续思考 Blob 是什么?
这就导致了一些开发者还是停留在熟练使用 API 的层面,当遇到比较棘手的问题时就束手无策。 换句话说如果当你在熟悉 API 的使用之后,还能继续多问几个为什么继续探究下去,不仅能加深对知识的理解还能触类旁通,拓展自己的知识面提高自己
好了,如果你想继續了解什么是 Blob那么就跟上我的脚步,来一个 Blob Web API 探索之旅还在犹豫什么,Let's go!
读完本文你将了解到以下内容:
Blob(Binary Large Object)表示二进制类型的大对象在数据库管理系统中,将二进制数据存储为一个单一个体的集合Blob 通常是影像、声音或多媒体文件。 在 Java 中 Blob 类型的对象表示不可变的类似攵件对象的原始数据为了更直观的感受 Blob 对象,我们先来使用 Blob 构造函数创建一个 myBlob 对象,具体如下图所示:
如你所见myBlob 对象含有两个属性:size 和 type。其中 size 属性用于表示数据的大小(以字节为单位) type 是 MIME 类型的字符串。Blob 表示的不一定是 Java 原生格式的数据比如 File 接口基于 Blob ,继承了 blob 的功能并将其扩展使其支持用户系统上的文件
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开多用于指定一些客户端自定义的文件名,以及一些媒体文件打開方式