web-dev-qa-db-fra.com

Quel est le préfixe "blob: http: //" et où puis-je en savoir plus à ce sujet?

J'utilise Safari et je ne sais pas si cela fonctionne dans les autres navigateurs, mais lorsque je me suis inscrit à un compte Storm Path, l'adresse URL suivante s'affiche.

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

Le blob: le préfixe est nouveau pour moi et je veux savoir s'il fonctionne dans tous les navigateurs et quels autres préfixes pourraient exister.

29
random65537

Blob URI/URL a été créé par JavaScript, fait référence aux données que votre navigateur a actuellement en mémoire (uniquement sur la page en cours) et ne fait pas référence aux données existantes sur l'hôte.

Pour plus d'informations, voir: https://www.npmjs.com/package/blob-util

16
Masoud

Le début d'une URL jusqu'au premier deux-points s'appelle un "schéma d'URI" (ou "schéma d'URL"). Googler pour blob URI scheme révèle les efforts de l'API de fichier du W3C .

La plupart des schémas d'URI ne contiennent pas de dispositions standard permettant de contenir un autre URI complet, vous ne pensez donc pas qu'ils préfixent un autre URI complet. Outre les http: et https:, certains schémas d'URI courants incluent:

  • ftp:
  • mailto:
  • les données:
  • scénario:
  • smb: (et cifs:)
  • afp:

…et beaucoup plus. Je suis sûr que je laisse les favoris de tout le monde. :)

8
Spiff

Je copie et colle la réponse de StackOverflow à cause des informations d’arrière-plan sur le blob dans la chaîne d’URL.

Une URL créée à partir d'une JavaScript Blob ne peut pas être convertie en une URL "normale".

Une URL blob: ne fait pas référence aux données qui existent sur le serveur, mais aux données que votre navigateur a actuellement en mémoire pour la page en cours. Il ne sera pas disponible sur d'autres pages, ni dans d'autres navigateurs, ni sur d'autres ordinateurs.

Par conséquent, il est généralement inutile de convertir une URL Blob en une URL "normale". Si vous voulez une URL ordinaire, vous devez envoyer les données du navigateur à un serveur et le faire en sorte qu'il soit disponible comme un fichier ordinaire.

Il est possible de convertir un blob: URL en une donnée: URL, au moins sous Chrome. Vous pouvez utiliser une requête AJAX pour "extraire" les données du blob: URL (même s'il s'agit simplement de les extraire de la mémoire de votre navigateur, sans émettre de requête HTTP).

5
Ivanov