2011-12-06 6 views
5

Qualcosa come quello descritto su this MDN page, ma senza caricare il file in memoria, cioè mi piacerebbe essere in grado di inviare il file in blocchi usando dello streaming interfaccia in modo che il mio processo client sia indipendente dalla dimensione del file. Il file viene selezionato utilizzando un elemento invisibile <input type=file>.JS file uploader con streaming, cioè senza caricare l'intero file nella memoria

È un problema del mondo reale: i miei utenti caricheranno più file contemporaneamente, che potrebbero essere abbastanza grandi (e i dispositivi client abbastanza limitati) da preoccuparsi del consumo di memoria. Allo stesso tempo, mi piacerebbe fornire un simpatico uploader sul lato client con indicazione del progresso.

L'interfaccia FileReader non sembra supportare lo streaming, a meno che manchi qualcosa, ovviamente.

La soluzione dovrebbe funzionare nelle ultime versioni di Safari, Chrome e Firefox e, se possibile, anche in IE9 (anche se probabilmente c'è poca speranza). Modifica: anche no jQuery, solo JavaScript nuda.

+0

Hai trovato qualche soluzione a questo? Sto considerando socket.io/WebSocket tuttavia il FileReader potrebbe non essere ancora in streaming. – bhantol

+0

A quanto pare lo streaming è http://stackoverflow.com/a/25813769/2103767 – bhantol

risposta

0

L'unico che so che ha tutte quelle capacità (upload di file multipli, contenuto del file uploads flusso, Carica barra di avanzamento, ecc), utilizza jQuery però, si chiama jQuery file di caricamento plugin, qui andare l'url:

http://blueimp.github.com/jQuery-File-Upload/

+0

Sì, l'ho già visto, è necessario consultare le fonti per capire esattamente come fanno lo streaming. – mojuba