Что такое префикс «blob: http: //» и где я могу узнать больше об этом?

50781
random65537

Я использую Safari, и не уверен, что это работает в других браузерах, но когда я зарегистрировался для учетной записи Storm Path, я вижу следующий URL

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

Префикс blob: является новым для меня, и я хочу знать, работает ли он во всех браузерах, и какие другие префиксы могут существовать.

25
Хорошее объяснение на [SO] (https://stackoverflow.com/questions/30864573/what-is-a-blob-url-and-why-it-is-used) Bakudan 6 лет назад 2

3 ответа на вопрос

15
Masoud

Blob URI/URL was created by JavaScript, refers to data that your browser currently has in memory (only in current page), and does not refer to data the exists on the host.

For more information to use, see: https://www.npmjs.com/package/blob-util

7
Spiff

The start of a URL up to the first colon is called a "URI scheme" (or "URL scheme"). Googling for blob URI scheme reveals the W3C's File API efforts.

Most URI schemes don't have standard provisions for containing a whole other URI, so you wouldn't think of them as prefixing another whole URI. Besides http: and https:, some common URI schemes include:

  • ftp:
  • mailto:
  • data:
  • script:
  • smb: (and cifs: )
  • afp:

…and many more. I'm sure I'm leaving out everyone's favorites. :)

3
Ivanov

Я копирую и вставляю ответ из StackOverflow из-за фоновой информации о блобе в строке URL.

URL, созданный из JavaScript, Blobне может быть преобразован в «обычный» URL.

A blob: URL-адрес не относится к данным, существующим на сервере, он относится к данным, которые ваш браузер в данный момент хранит в памяти, для текущей страницы. Он не будет доступен на других страницах, он не будет доступен в других браузерах и не будет доступен с других компьютеров.

Поэтому в общем случае не имеет смысла преобразовывать URL-адрес BLOB-объекта в «обычный» URL-адрес. Если вы хотите получить обычный URL-адрес, вам придется отправить данные из браузера на сервер, и сервер сделает их доступными, как обычный файл.

Можно преобразовать blob: URL в data: URL, по крайней мере, в Chrome. Вы можете использовать AJAX-запрос для «извлечения» данных из blob: URL (хотя на самом деле это просто извлечение данных из памяти вашего браузера, а не выполнение HTTP-запроса).

Похожие вопросы