Erstellen Sie einen download-link von einer Blob-URL
In eine Google chrome extension, mit der ich arbeite auf eine Datei von einem server heruntergeladen, mit einer XMLHttpRequest
. Diese Datei enthält binäre Daten, die gespeichert sind in einer ArrayBuffer
Objekt. Um die Möglichkeit zum herunterladen dieser Datei, die ich mit der createObjectURL
API.
function publish(data) {
if (!window.BlobBuilder && window.WebKitBlobBuilder) {
window.BlobBuilder = window.WebKitBlobBuilder;
}
var builder = new BlobBuilder();
builder.append(data);
var blob = builder.getBlob();
var url = window.webkitURL.createObjectURL(blob);
$("#output").append($("<a/>").attr({href: url}).append("Download"));
}
Es ist in Ordnung, außer dass das mit dem Namen ist eine undurchsichtige UUID wie 9a8f6a0f-dd0c-4715-85dc-7379db9ce142
. Gibt es eine Möglichkeit, diese Kraft mit dem Namen, um etwas mehr user-friendly?
- BlobBuilder veraltet ist. Verwenden Sie die Blob-Konstruktor.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe nie versucht, vor, aber es sollte möglich sein, erstellen Sie eine neue Datei-Objekt (welches Ihnen erlaubt, einen Dateinamen anzugeben) und schreiben Sie Ihre blob zu. Etwas entlang der Linien von:
Ich denke, dies könnte für Sie arbeiten.
können Sie nicht zwingen, einen beliebigen Dateinamen, indem Sie den "download" - Attribut des Anker -
finden Sie unter: http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download