Créer un lien de téléchargement à partir d'une Goutte URL
Dans Google chrome extension je suis en train de travailler sur un fichier est téléchargé à partir d'un serveur avec un XMLHttpRequest
. Ce fichier contient des données binaires qui sont stockés dans une ArrayBuffer
objet. Afin d'offrir la possibilité de télécharger ce fichier, je suis en utilisant le 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"));
}
Il fonctionne très bien, sauf que le nom de fichier est opaque UUID comme 9a8f6a0f-dd0c-4715-85dc-7379db9ce142
. Est-il un moyen de forcer le nom du fichier à quelque chose de plus convivial?
BlobBuilder est obsolète. Utiliser le Blob constructeur.
OriginalL'auteur Jcs | 2011-05-20
Vous devez vous connecter pour publier un commentaire.
Je n'ai jamais essayé avant, mais il devrait être possible de créer un nouveau Fichier objet (qui vous permet de spécifier un nom de fichier) et d'écrire votre blob. Quelque chose le long des lignes de:
Je pense que cela pourrait fonctionner pour vous.
voir prise en charge du navigateur ici caniuse.com/#feat=filesystem
OriginalL'auteur sergio
vous pouvez forcer l'arbitraire d'un nom de fichier en paramètre de la "télécharger" attribut de votre point d'ancrage
voir: http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download
OriginalL'auteur rmanna