我正在使用 Safari,不确定这是否适用于其他浏览器,但当我注册 Storm Path 帐户时,我看到以下 URL
blob:https://api.stormpath.com/1be95204-93d6-4GUID HERE
blob: 前缀对我来说是新的,我想知道它是否适用于所有浏览器,以及可能存在哪些其他前缀。
答案1
Blob URI/URL 由 JavaScript 创建,指的是浏览器当前内存中的数据(仅在当前页面中),而不是指主机上存在的数据。
有关更多使用信息,请参阅: https://www.npmjs.com/package/blob-util
答案2
URL 开头到第一个冒号的部分称为“URI 方案”(或“URL 方案”)。在 Google 上搜索时blob URI scheme
会显示W3C 的文件 API 工作。
大多数 URI 方案没有包含整个其他 URI 的标准规定,因此您不会认为它们是另一个整个 URI 的前缀。除了 http: 和 https: 之外,一些常见的 URI 方案包括:
- FTP:
- 邮箱:
- 数据:
- 脚本:
- smb: (和 cifs: )
- 法新社:
…还有更多。我肯定没有提到大家最喜欢的。:)
答案3
我复制并粘贴了堆栈溢出因为 URL 字符串中存在有关 blob 的背景信息。
由 JavaScript 创建的 URL
Blob
不能转换为“普通”URL。答
blob
:URL 不是指服务器上存在的数据,而是指浏览器当前内存中针对当前页面的数据。它不会在其他页面上可用,不会在其他浏览器中可用,也不会在其他计算机上可用。因此,一般来说,将 Blob URL 转换为“普通”URL 是没有意义的。如果您想要一个普通 URL,则必须将数据从浏览器发送到服务器,然后让服务器将其像普通文件一样提供。
可以将 blob: URL 转换为 data: URL,至少在 Chrome 中是这样的。您可以使用 AJAX 请求从 blob: URL“获取”数据(即使它实际上只是从浏览器内存中提取数据,而不是发出 HTTP 请求)。
答案4
MDN 是一个很好的资源,可以用通俗易懂的语言来理解事物。我还建议https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL作为一个很好的资源。他们还在页面底部显示了 W3C 规范,与 Spiff 提供的相同,但原始规范可能冗长且难以阅读。我认为 Spiff 最适合将您链接到 W3C 文档。
我认为 Masoud 提供的 npmjs 链接没什么用。它将您引导到库主机 npmjs 上的 Javascript 库。blob-util 库用于包装浏览器中的标准 API 以处理 blob,它简化了这些代码的编写,但它并不是理解 blob URL 及其含义的良好参考。