2009-12-17 20 views
14

Esiste un limite teorico alla dimensione del file che può essere caricato da un client utilizzando il caricamento del file del browser utilizzando il modulo HTML?Limite caricamento file in HTTP

Sto ponendo questo perché Flash ha uno svantaggio in cui la dimensione del file più grande che è possibile caricare è inferiore alla dimensione della RAM disponibile. Mi chiedo se ci sono tali restrizioni con i browser ...

+2

Interessante. AFAIK, non esiste un limite lato client come tale. Hai un link per il problema Flash? –

risposta

11

Se il caricamento del file è maggiore di 2 GB si verificheranno problemi con i caricamenti HTTP.

Il limite "RAM disponibile" indica che i dati del file vengono risucchiati tutti in memoria, il che è molto inefficiente, specialmente quando le dimensioni del file aumentano. Gli stream sono molto più efficienti per questo.

2

Suppongo che dipenderà dal server che riceve la richiesta, da entrambe le impostazioni e dal modo in cui la ricezione è implementata. Apache probabilmente ha un'implementazione differente del destinatario da IIS. Sul lato client il file viene letto dal disco (anche in questo caso dipende dal browser utilizzato dal client e dal modo in cui viene implementato), quindi non dovrebbe esserlo. Non so se questo sia mai menzionato, dica nella documentazione di IE.

4

BranTheMan è corretto, ho riscontrato questo problema alcuni anni fa e abbiamo decompilato i bit di ASP.NET e abbiamo scoperto che prenderà il file e lo metterà in un array di byte. Quindi non puoi aggirare questo.

Forse con hardware a 64 bit è possibile superare il limite di 2 GB, ma .. 2 GB è abbastanza, quindi forse è abbastanza.

Il problema che potresti incontrare è se molte persone caricano file di grandi dimensioni. ad esempio 100 persone caricano file da 20 meg in quanto il processo non può allocare più di 2 GB su un server standard a 32 bit. (senza modifiche di configurazione)

3

Here è il risultato di uno studio riguardante il caricamento in base ai browser Web.

Per il momento, solo Google Chrome & Opera sono in grado di eseguire un caricamento di oltre 4GB.

+0

Grazie a tutti. Risolto. – user2307087

+0

Prego! :) – PixEye