65 votes

Qu'est-ce que le préfixe "blob:http://" et où puis-je en apprendre davantage à ce sujet ?

J'utilise Safari, et je ne sais pas si cela fonctionne dans d'autres navigateurs, mais lorsque je me suis inscrit pour un compte storm path, je vois l'URL suivante

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

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

31voto

rookieRailer Points 1295

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

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

15voto

Spiff Points 95683

Le début d'une URL jusqu'aux premiers deux-points est appelé "schéma URI" (ou "schéma URL"). En recherchant sur Google blob URI scheme révèle le Les efforts du W3C en matière d'API de fichiers .

La plupart des schémas d'URI n'ont pas de dispositions standard pour contenir un autre URI entier, donc on ne peut pas penser qu'ils préfixent un autre URI entier. Outre http : et https :, les schémas d'URI les plus courants sont les suivants :

  • ftp :
  • mailto :
  • données :
  • script :
  • smb : (et cifs : )
  • afp :

et bien d'autres encore. Je suis sûr que j'oublie les préférés de chacun. :)

13voto

DEzra Points 930

Je copie et colle la réponse de StackOverflow en raison de l'information de fond sur le blob dans la chaîne URL.

Une URL qui a été créée à partir d'un JavaScript Blob ne peut pas être converti en une URL "normale".

A blob : L'URL ne se réfère pas à des données qui existent sur le serveur, elle se réfère aux données que votre navigateur a en mémoire, pour la page actuelle. page actuelle. Elle ne sera pas disponible sur d'autres pages, elle ne sera pas disponibles dans d'autres navigateurs, et elles ne seront pas disponibles à partir d'autres ordinateurs.

Par conséquent, il n'est pas judicieux, en général, de convertir une URL de Blob en une URL "normale". Si vous vouliez une URL ordinaire, vous devriez envoyer les données du navigateur à un serveur et faire en sorte que le serveur les rende disponible comme un fichier ordinaire.

Il est possible de convertir un blob : URL en un data : URL, du moins dans Chrome. Vous pouvez utiliser une requête AJAX pour "récupérer" les données de l'URL blob : URL (même s'il s'agit en réalité de les extraire de la mémoire de votre navigateur, et non une requête HTTP).

3voto

ADJenks Points 190

MDN est une bonne ressource pour comprendre les choses en langage clair. Je suggère également https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL comme une bonne ressource. Ils montrent également la spécification du W3C en bas de leur page, la même que celle fournie par Spiff, mais les spécifications originales peuvent être verbeuses et difficiles à lire. Je dirais que Spiff est le plus correct pour vous lier aux documents du W3C.

Je ne pense pas que le lien vers npmjs que Masoud a fourni soit très utile. Il vous dirige vers une bibliothèque Javascript sur l'hôte de bibliothèque npmjs. La bibliothèque blob-util est utilisée pour envelopper l'API standard dans le navigateur afin de travailler avec les blobs et elle a simplifié l'écriture du code pour ces choses, mais ce n'est pas une bonne référence pour comprendre les URL des blobs et ce qu'ils sont.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X