2010-11-22 10 views
5

Buona giornata!Opzioni per caricare file più grandi di 2 Gb usando il browser web

Sto cercando opzioni per il caricamento di file molto grandi (oltre 2 Gb) utilizzando i browser web. So che le soluzioni di applet Java funzioneranno, so (e ho provato da solo) che Flash ha limitazioni interne su 2Gb. Che mi dici di Silverlight? Mi sono perso in qualche modo la tecnologia di fare questo?

Grazie in anticipo!

+1

Spero davvero che tu trovi una buona risposta a questo, ma nella mia esperienza, un buon server FTP di solito risolve il problema. Ovviamente, ciò potrebbe non essere accettabile a seconda dei tuoi utenti e della situazione. – Brad

+0

Enfasi su "buono". Ai server di Crappy piace assumere dimensioni di file a 32 bit. – cHao

+0

Ciao artvolk, hai mai trovato una soluzione a questo? Penso che rompere il file in piccoli pezzi negherà l'intero limite di dimensioni del file vero? –

risposta

1

Per quanto ne so, il caricamento in .NET 4 è limitato a "2097151" (2 GB). Potrebbe essere impostato in web.config

<system.web> 
    <httpRuntime maxRequestLength="2097151" /> 
</system.web> 

OK, quindi non c'è un'altra idea: è possibile caricare i file in blocchi. C'è un project su codeplex che potrebbe essere utile a voi.

+0

Il lato server è su nginx con modulo di caricamento (che può gestire file superiori a 2 Gb tramite Google Gears, ad esempio) non ASP.NET. Il problema è sul client. Silverlight sembra un'opzione solo se vengono utilizzati caricamenti parziali. Non è in grado di gestire più di 2 GB contemporaneamente (anche iniziare a inviarlo al server). – artvolk

-2

È possibile dividere il file in parti utilizzando 7zip, quindi caricare caricare le parti come al solito.

+0

E come lo faresti a livello di programmazione, lato client? Inoltre, ci sarebbero enormi spese generali nello zippare. – Brad

+0

Sì, cercavo una soluzione a livello di codice per il lato client. – artvolk

0

(per Flash) Suddividere il file in blocchi di dimensioni fisse (forse 10-50 MB ciascuno) di array di byte nel client flash, non troppo difficile con la classe ByteArray.

Ora è possibile caricare ogni blocco e il server può metterli insieme. Un altro vantaggio è che se il client viene disconnesso, il server sa quali parti di quel file l'utente ha già inviato e l'utente può semplicemente continuare da dove ha lasciato.

È possibile anche inviare più blocchi contemporaneamente (tra 2 e 4, ogni browser ha un numero di connessioni massimo diverso), migliorando l'utilizzo della rete.

+0

Grazie per la risposta in questa vecchia discussione, hai qualche link per un esempio di lavoro? – artvolk

+0

No, scusa :((e mi dispiace per una risposta davvero molto tarda) – Flassari

Problemi correlati