Was ist eine Blob-URL und warum wird sie verwendet?
Ich habe sehr viel problem mit blob-URL.
Ich war auf der Suche nach src
video-tag auf YouTube und ich fand, dass die video - src
war wie:
src="blob:https://crap.crap"
Öffnete ich die blob-URL auf, in src
video es gab einen Fehler und ich kann Sie nicht öffnen, aber mit der src
tag. Wie ist das möglich?
Anforderungen:
- Was ist blob-URL?
- Warum wird es verwendet?
- Kann ich meine eigene blob-URL auf einem server?
- Wenn Sie weitere Einzelheiten
Vielen Dank im Voraus
InformationsquelleAutor der Frage Waqas | 2015-06-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blob-URLs (ref W3Cso die offizielle Bezeichnung) oder Objekt-URLs (ref. MDN und name der Methode) verwendet werden, mit einem Blob oder eine Datei Objekt.
Blob-URLs kann nur intern erzeugt werden, die durch die browser.
URL.createObjectURL()
einen speziellen Verweis auf den Blob oder Datei-Objekt, das später freigegeben werden können, mitURL.revokeObjectURL()
. Diese URLs können nur lokal verwendet werden, in der eine einzige Instanz des Browsers und in der gleichen Sitzung (dh. das Leben von der Seite/Dokument).Blob-URL/Objekt-URL ist ein pseudo-Protokoll, Blob-und Datei-Objekte verwendet werden, die als URL-Quelle für Dinge wie Bilder, download-links für binäre Daten und so weiter.
Zum Beispiel können Sie nicht ein Bild in die hand-Objekt-roh-byte-Daten, wie Sie würden nicht wissen, was zu tun. Es erfordert zum Beispiel Bilder (binäre Daten) geladen werden, die über URLs. Dies gilt für alles, was erfordert eine URL als Quelle an. Anstelle von Upload, werden die binären Daten, servieren Sie es dann zurück, über eine URL, ist es besser, verwenden Sie eine zusätzliche lokale Schritt, um der Lage sein, auf die Daten direkt zugreifen, ohne den Umweg über einen server.
Es ist auch eine bessere alternative zu Data-URI strings codiert, wie Base-64. Das problem mit dem Data-URI ist, dass jeder char nimmt zwei bytes im JavaScript. Auf top von, dass 33% durch die Base-64-Codierung. Blobs sind Reine binäre byte-arrays, die keine signifikanten overhead als Daten-URI tut, das macht Sie schneller und kleiner zu handhaben.
Nein, Blob-URLs - /Objekt-URLs können nur gemacht werden intern im browser. Sie können Blobs und get File-Objekt, über das File-Reader-API, obwohl BLOB bedeutet nur, Binary Large OBject gespeichert ist, als byte-arrays. Ein client kann die Anforderung die Daten gesendet werden, entweder als ArrayBuffer oder ein Blob. Sollte der server sendet die Daten als Reine Binärdaten. Datenbanken werden Häufig verwendet, Blob, um zu beschreiben, binäre Objekte, als auch, und im Grunde reden wir im Grunde über byte-arrays.
Müssen Sie Kapseln die binären Daten als BLOB-Objekt und verwenden Sie dann
URL.createObjectURL()
zum erzeugen einer lokalen URL:Beachten Sie, dass
URL
kann vorangestellt werden in webkit-Browsern, so verwenden:InformationsquelleAutor der Antwort epistemex
Was ist blob-url? Warum wird es verwendet?
BLOB ist nur byte-Sequenz. Browser erkennen es als byte-stream. Es wird verwendet, um byte-stream von der Quelle.
Kann ich meine eigene blob-url auf einem server?
Kann man ja es gibt mehrere Möglichkeiten, das zu tun, so probieren Sie zum Beispiel http://php.net/manual/en/function.ibase-blob-echo.php
Lesen Sie mehr auf
InformationsquelleAutor der Antwort Robert
Habe ich geändert funktionierende Lösung zu behandeln, sowohl in dem Fall.. wenn das video hochgeladen und als Bild hochgeladen .. hoffe es wird einigen helfen.
html
Dauer:
Javascript
jsFiddle Url
https://jsfiddle.net/PratapDessai/0sp3b159/
InformationsquelleAutor der Antwort Pratap Dessai