Question

Je dois permettre à l'utilisateur de télécharger un fichier créé à la volée à partir des données contenues dans l'extension, mais je ne veux pas faire côté serveur.

A titre d'exemple dans le monde réel: Il est une variable contenant le texte « Bonjour tout le monde ». Je veux que l'utilisateur pour pouvoir télécharger / créer un fichier contenant ce texte .TXT.

Est-il possible?

-edited 30 octobre 2010 -

Solutions jusqu'à présent:

window.saveAs - ne fonctionne pas du tout

createObjectURL - travaux, mais le nom de fichier et d'autres options ne peuvent pas être encore personnalisées

données de copie dans le presse papier - travaux, mais trop d'étapes sont nécessaires à l'utilisateur

créer un document GoogleDocs - pourrait fonctionner, mais il a besoin de jouer avec l'API et OAuth

-edited 15 avril 2011

On dirait que les choses s'améliorent: https://github.com/eligrey/FileSaver.js

Mais Chrome 14+ est encore un peu bizarre les noms de fichiers.

Était-ce utile?

La solution

Je pense que la seule façon est d'appeler dialogue de sauvegarde par flash, voir la bibliothèque Downloadify.

Autres conseils

Dans le chrome extensions groupe Google I ont trouvé cet exemple de travail: (je l'ai modifié pour travailler à partir de la fenêtre contextuelle)

BuiltBlob = new BlobBuilder(""); 
BuiltBlob.append("Hello, world"); 
BlobToSave = BuiltBlob.getBlob(); 
chrome.tabs.create({'url': createObjectURL(BlobToSave), 'selected': false});

Mais le nom de fichier n'est pas réglé, se terminant par quelque chose comme cf8a56bf-d724-4b97-b10f-e252961135bd

Sur les docs Les W3C ( http: // dev. w3.org/2009/dap/file-system/file-writer.html ) J'ai trouvé cette ne fonctionne pas exemple:

var bb = new BlobBuilder(); 
bb.append("Lorem ipsum"); 
var fileSaver = window.saveAs(bb.getBlob(), "test_file"); 
fileSaver.onwriteend = myOnWriteEnd; 

mais window.saveAs ne semble pas existe.

googleing autour J'ai trouvé pas à jour Google Gears références, mais rien d'autre, peut-être parce que je fais face à quelque chose de trop nouveau pour avoir la documentation appropriée?

Y at-il un moyen de définir le nom du fichier / type MIME au premier exemple?

Je ne pense pas que ce soit possible pour des raisons de sécurité

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top