26

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

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

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

3 ответа3

15

URI/URL BLOB-объекта был создан JavaScript, относится к данным, которые ваш браузер в настоящее время имеет в памяти (только на текущей странице), и не ссылается на данные, существующие на хосте.

Для получения дополнительной информации см .:https://www.npmjs.com/package/blob-util.

7

Начало URL до первого двоеточия называется «URI-схемой» (или «URL-схемой»). Схема поиска в blob URI scheme показывает усилия API-интерфейса W3C для файлов.

Большинство схем URI не имеют стандартных положений для содержания целого другого URI, поэтому вы не будете думать о них как о префиксе другого целого URI. Помимо http: и https:, некоторые распространенные схемы URI включают в себя:

  • FTP:
  • почты:
  • данные:
  • сценарий:
  • Smb: (и CIFS:)
  • пфпи:

... и многое другое. Я уверен, что я опускаю все фавориты. :)

3

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

URL-адрес, созданный из Blob JavaScript, нельзя преобразовать в "обычный" URL-адрес.

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .