什么是“ blob:http://”前缀,我在哪里可以了解到更多信息?


35

我正在使用野生动物园,不确定在其他浏览器中是否也可以使用,但是当我注册一个风暴路径帐户时,会看到以下网址

blob:https://api.stormpath.com/1be95204-93d6-4GUID HERE

blob:前缀对我来说是新的,我想知道它是否适用于所有浏览器,以及可能存在哪些其他前缀。


Answers:



8

直到第一个冒号的URL的开始称为“ URI方案”(或“ URL方案”)。在Google搜索中可以blob URI scheme看到W3C在File API方面的努力

大多数URI方案没有包含完整的其他URI的标准规定,因此您不会认为它们是在另一个完整的URI的前缀。除了http:和https :,一些常见的URI方案包括:

  • FTP:
  • mailto:
  • 数据:
  • 脚本:
  • smb :(和CIF :)
  • afp:

…还有很多。我确定我会忽略每个人的收藏夹。:)


7

由于URL字符串中有关blob的背景信息,我从StackOverflow复制并粘贴了答案。

从JavaScript创建的URL Blob不能转换为“普通” URL。

blob:URL并非指向服务器上存在的数据,而是指向浏览器当前在当前页面中存储的数据。它在其他页面上将不可用,在其他浏览器中将不可用,并且在其他计算机上将不可用。

因此,通常将Blob URL转换为“正常” URL是没有意义的。如果要使用普通URL,则必须将数据从浏览器发送到服务器,并使服务器像普通文件一样使它可用。

至少在Chrome中,可以将blob:URL转换为data:URL。您可以使用AJAX请求从blob:URL“获取”数据(即使实际上只是将其从浏览器的内存中拉出,而不是发出HTTP请求)。


0

MDN是理解普通语言的好资源。我还建议将https://developer.mozilla.org/zh-CN/docs/Web/API/URL/createObjectURL作为一个很好的资源。他们还在页面底部显示了W3C规范,与Spiff提供的规范相同,但是原始规范可能很冗长且难以阅读。我想说Spiff是将您链接到W3C文档的最正确方法。

我认为Masoud提供的指向npmjs的链接不是很有用。它将您定向到库主机npmjs上的Javascript库。blob-util库用于包装浏览器中的标准API以使用blob,并且简化了为这些内容编写代码的过程,但是对于理解blob URL及其含义不是一个很好的参考。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.