Che cos'è il prefisso "blob: http: //" e dove posso saperne di più su questo?


35

Sto usando Safari e non sono sicuro che funzioni in altri browser, ma quando mi sono registrato per un account sul percorso di tempesta, vedo il seguente URL

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

Il BLOB: il prefisso è nuovo per me e voglio sapere se funziona su tutti i browser e quali altri prefissi potrebbero esistere.


2
C'è una buona spiegazione alla SO
Bakudan,

Risposte:


17

L'URI / URL BLOB è stato creato da JavaScript, si riferisce ai dati che il browser attualmente ha in memoria (solo nella pagina corrente) e non si riferisce ai dati esistenti sull'host.

Per ulteriori informazioni da utilizzare, consultare: https://www.npmjs.com/package/blob-util


8

L'inizio di un URL fino ai primi due punti è chiamato "schema URI" (o "schema URL"). Cercare su Google blob URI schemerivela gli sforzi dell'API File del W3C .

La maggior parte degli schemi URI non ha disposizioni standard per contenere un intero URI, quindi non si potrebbe pensare a loro come prefisso di un altro URI intero. Oltre a http: e https :, alcuni schemi URI comuni includono:

  • ftp:
  • mailto:
  • dati:
  • script:
  • smb: (e cifs:)
  • afp:

…e molti altri. Sono sicuro che tralascerò i preferiti di tutti. :)


7

Copio e incollo la risposta da StackOverflow a causa delle informazioni di sfondo sul BLOB nella stringa URL.

Un URL creato da JavaScript Blobnon può essere convertito in un URL "normale".

A blob: URL non si riferisce ai dati esistenti sul server, si riferisce ai dati che il tuo browser ha attualmente in memoria, per la pagina corrente. Non sarà disponibile su altre pagine, non sarà disponibile in altri browser e non sarà disponibile da altri computer.

Pertanto, non ha senso, in generale, convertire un URL BLOB in un URL "normale". Se si desidera un normale URL, è necessario inviare i dati dal browser a un server e fare in modo che il server li renda disponibili come un normale file.

È possibile convertire un BLOB: URL in un dato: URL, almeno in Chrome. È possibile utilizzare una richiesta AJAX per "recuperare" i dati dal BLOB: URL (anche se in realtà è solo estraendolo dalla memoria del browser, non effettuare una richiesta HTTP).


0

MDN è una buona risorsa per comprendere le cose in un linguaggio semplice. Vorrei anche suggerire https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL come una buona risorsa. Mostrano anche le specifiche W3C nella parte inferiore della loro pagina, la stessa fornita da Spiff, ma le specifiche originali possono essere dettagliate e difficili da leggere. Direi che Spiff è il più corretto per collegarti ai documenti del W3C.

Non penso che il link a npmjs fornito da Masoud sia molto utile. Ti indirizza a una libreria Javascript sull'host della libreria npmjs. La libreria blob-util viene utilizzata per avvolgere l'API standard nel browser per lavorare con i BLOB e semplifica la scrittura del codice per queste cose, ma non è un buon riferimento per comprendere gli URL dei BLOB e quali sono.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.