2012-12-21 18 views
5

Eventuali duplicati:
Force download of ‘data:text/plain’ URL
Create a downloadable link from a vriable in javascriptCome si creano i file con JavaScript?

ho visto i plugin in grado di creare/generare file (txt, pdf, .vcard) e io non sono esattamente sicuro come è fatto. Sono fatti attraverso l'Ajax? O c'è un oggetto/metodo che mi manca?

+0

È possibile farlo solo utilizzando il lato client? – Dandy

+0

Solo con l'API FileSystem ma non sono sicuro di quello che stai cercando ... Hai un sito con un esempio? –

+2

Per creare file sul computer dell'utente, generalmente si crea una stringa binaria con i dati del file e quindi si reindirizza la pagina a un ['dati:' URL] (https://en.wikipedia.org/wiki/Data_URI_scheme) con i dati del file con codifica Base64, in modo che il browser possa scaricarlo. – apsillers

risposta

1

Html5 supporta l'accesso a File System. Qui di seguito collegamento ha un buon esempio:

http://www.html5rocks.com/en/tutorials/file/filesystem/

+0

Bello! Questo è molto utile, ma sono curioso di sapere come le persone sono state in grado di generare file prima che HTML5 fosse disponibile. Inoltre, poiché questo non è ancora ampiamente supportato. – Dandy

+0

La generazione di file * dati * e la richiesta di creazione di un * file effettivo * sono due passaggi separati. Indirizza il tuo browser a 'data: text/x-plain, helloworldfoobar' e vedrai che è piuttosto semplice richiedere un download, una volta creati i dati del tuo file. La generazione di dati di file equivale all'incirca a generare qualsiasi tipo di dati in qualsiasi lingua: sposta alcuni bit e byte intorno finché non sembrano come vuoi. – apsillers

+0

Ad esempio, su un computer Microsoft, tramite VBScript, è possibile effettuare le seguenti operazioni: Impostare fso = createobject ("scripting.filesystemobject") ... che ha funzionato solo su ie. Penso che ci fosse un modo simile per farlo in javascript. – malkassem

0

Ecco le specifiche per il FS API. Sfortunatamente support perché è molto leggero. Tuttavia, se si desidera utilizzarlo nelle app mobili, PhoneGap ha implement it.

Se si scrive uno script GreaseMonkey si ha GM_xmlhttpRequest che non ha lo stesso criterio di origine.

+0

Grazie per aver condiviso! – Dandy

Problemi correlati