Meine Seite generiert eine URL wie folgt: "blob:http%3A//localhost%3A8383/568233a1-8b13-48b3-84d5-cca045ae384f"
Wie kann ich sie in eine normale Adresse konvertieren?
Ich benutze es als ein <img>
‚s - src
Attribut.
javascript
url
blob
Jacob
quelle
quelle
localhost
Link. Finden Sie stattdessen den öffentlichen Link heraus. (Welches CDN verwenden Sie?)Antworten:
Eine aus einem JavaScript erstellte URL
Blob
kann nicht in eine "normale" URL konvertiert werden.Eine
blob:
URL bezieht sich nicht auf Daten, die auf dem Server vorhanden sind, sondern auf Daten, die Ihr Browser derzeit für die aktuelle Seite im Speicher hat. Es ist nicht auf anderen Seiten verfügbar, es ist nicht in anderen Browsern verfügbar und es ist nicht auf anderen Computern verfügbar.Daher ist es im Allgemeinen nicht sinnvoll, eine
Blob
URL in eine "normale" URL zu konvertieren . Wenn Sie eine normale URL wünschen, müssen Sie die Daten vom Browser an einen Server senden und vom Server wie eine normale Datei verfügbar machen.Zumindest in Chrome ist es möglich, eine
blob:
URL in einedata:
URL umzuwandeln . Sie können eine AJAX-Anfrage verwenden, um die Daten von derblob:
URL abzurufen (obwohl sie wirklich nur aus dem Speicher Ihres Browsers gezogen werden und keine HTTP-Anfrage stellen).Hier ist ein Beispiel:
data:
URLs sind wahrscheinlich nicht das, was Sie unter "normal" verstehen, und können problematisch groß sein. Sie funktionieren jedoch wie normale URLs, da sie gemeinsam genutzt werden können. Sie sind nicht spezifisch für den aktuellen Browser oder die aktuelle Sitzung.quelle
Not allowed to navigate top frame to data URL: data:text/plain;base64,...
Fehlermeldung. Ich bekomme die Daten, aber daswindow.location
ist nicht erlaubt ...Eine andere Möglichkeit, eine Daten-URL aus einer Blob-URL zu erstellen, ist möglicherweise die Verwendung von Canvas.
Wie ich in mdn gesehen habe, wird canvas.toDataURL von Browsern gut unterstützt. (außer dh <9, immer dh <9)
quelle
Für diejenigen, die hierher kamen und nach einer Möglichkeit suchten, eine Blob-URL für Video / Audio herunterzuladen, funktionierte diese Antwort für mich. Kurz gesagt, Sie müssten eine * .m3u8-Datei auf der gewünschten Webseite über die Registerkarte Chrome -> Netzwerk finden und in einen VLC-Player einfügen .
Eine weitere Anleitung zeigt Ihnen, wie Sie einen Stream mit dem VLC Player speichern .
quelle
Wie in der vorherigen Antwort angegeben, gibt es keine Möglichkeit, es wieder in URL zu dekodieren. Selbst wenn Sie versuchen, es im Chrome Devtools-Bedienfeld anzuzeigen, wird die URL möglicherweise immer noch als Blob codiert.
Es ist jedoch möglich, die Daten abzurufen. Eine andere Möglichkeit, die Daten abzurufen, besteht darin, sie in einen Anker zu legen und direkt herunterzuladen.
Fügen Sie dies auf der Seite mit der Blob-URL ein und klicken Sie auf die Schaltfläche, um den Inhalt zu erhalten.
Eine andere Möglichkeit besteht darin, den Ajax-Aufruf über einen Proxyserver abzufangen und dann die wahre Bild-URL anzuzeigen.
quelle