2013-03-04 13 views
9

Sto provando ad usare saveAs interfaccia come spiegato hereHTML5 saveAs supporto in Google Chrome

Per il momento, mi preoccupo solo di Google Chrome, e mi utilizza la più recente Canary (versione 27.0.1429.0 canarino)

Qn1: dice l'articolo.

Il W3C API File include un'interfaccia FileSaver, il che rende il salvataggio dati generati facili come saveas (dati, nome del file), anche se purtroppo esso verranno rimossi dal spec.

Perché verrebbe rimosso?

Qn2: codice sottostante.

if (window.saveAs) { 
    window.saveAs(blob, name); 
}else{ 
    console.log("saveAs not supported") 
} 

stampe

saveAs not supported 

Quindi Chrome non supporta saveAs. Questa non è l'impressione che ho letto molti articoli online.

+0

Prenderò immediatamente perché consentirebbe a un utente malintenzionato di salvare un file dannoso sul computer dell'utente. – Daedalus

+5

@Daedalus: beh non è ancora del tutto impossibile senza la funzione 'saveAs()', basta creare un piccolo violino per esso http://jsfiddle.net/shivasaxena/qnYk4/3/ – Shiva

+0

@Shiva - perfetto, funziona alla grande - tu dovrebbe postare questo come alternativa a una funzione che sta andando via. –

risposta

3

questo è un polyfill, come spiegato nell'articolo. È necessario caricare il file javascript elencato in questo articolo, salvarlo nel vostro risorse e link ad esso nel codice: Il repository è lì: https://github.com/eligrey/FileSaver.js

Non ci sono limitazioni in Chrome, però. Se il file è già stato salvato, il nuovo nome di salvataggio viene incrementato: myFile (1), poi myFile (2), ecc.

Ho un bug su Chrome, che dice che non può APRIRE il file, ma è solo un falso avviso, dato che il file è ben SALVATO, che è il punto.