2010-08-06 14 views
20

Mi chiedevo quali sono stati gli utenti di StackOverflow dell'API di caricamento file Java in passato e raccomanderei l'utilizzo? Una rapida ricerca su Google sembra indicare che l'API più comunemente utilizzata è Apache Commons File Upload (attualmente alla 1.2.1), tuttavia, abbiamo avuto alcuni problemi riguardanti l'uso di questa libreria con file più grandi che non siamo stati in grado di risolvere.Apache commons alternative di upload di file

Qualcuno ha trovato una libreria affidabile per il caricamento di file (oltre a quella di Apache Commons) che consigliasse?

MODIFICA: l'API Streaming è non un'opzione in quanto utilizza la stessa classe sottostante che causa il nostro problema.

EDIT2: il nostro problema originale sembra essere una sorta di problema con il bilanciamento del carico. La nostra istanza clone utilizza Apache/AJP1.3 e l'istanza live utilizza Zeus XTM. Bypassare il bilanciamento del carico utilizzando l'IP del server piuttosto che il nome host sembra causare la scomparsa del problema.

EDIT3: si è verificato un problema con il firewall dei client. Sembra che loro stessero .. ehm ... non essendo del tutto sinceri quando hanno detto che sapevano sicuramente che questo non era un problema del Firewall.

+0

quanto grandi sono i file? –

+0

Che tipo di problemi? memoria relativa? – naikus

+0

I file che causano i problemi sono 7 MB e oltre. Il più grande che abbiamo testato è 600 MB. Quello che succede è che il caricamento non riesce nel browser, e finiamo con una traccia di stack nei registri in cui si afferma che il flusso si è concluso in modo imprevisto. C'è un bug aperto relativo a questo nell'istanza JIRA di caricamento file Commons (https://issues.apache.org/jira/browse/FILEUPLOAD-143). L'ultimo ma un commentatore è me stesso. Non è un problema di Flash, questo sta accadendo attraverso i browser, ma solo per i client Windows XP e Vista. Siamo assolutamente sconcertati. – Jon

risposta

1

In caso di problemi relativi al tempo o alla memoria, hai guardato il caricamento del file commons streaming API?

+0

Sì. Abbiamo esaminato la fonte e scoperto che utilizza la classe con cui stiamo riscontrando problemi: org.apache.commons.fileupload.MultipartStream. – Jon

-2

uno sguardo a impostazioni theese, il limite è di 8 MB di default

upload_max_filesize 
post_max_size 
+0

Dove sono queste impostazioni? In file comuni si carica da solo? Ho avuto un Google veloce e sembrano essere le impostazioni di Apache. Non stiamo usando Apache .. – Jon

+0

Nei documenti (http://commons.apache.org/fileupload/using.html) si dice che è possibile impostare una dimensione massima di caricamento per un caricamento facendo 'upload.setSizeMax (yourMaxRequestSize); - ma il valore predefinito per questo valore è -1, che non ha limiti. – Jon

+0

-1 per menzionare le impostazioni PHP in una domanda Java – mhaller

Problemi correlati