78 messaggi dal 27 ottobre 2006
ho creato una pagina che permette a un utente di fare l'upload di files, ma in particolare dovrebbe fare l'upload di pdf di grandi dimensioni (intorno ai 15 / 20 mega), ma già con un file da 6 va in errore.
come posso fare? esiste un modo per ridurre files di quel genere o un tipo di upload apposta?
graz!!
beh per ridurre i files ovviamente puoi far riferimento alle librerie di compressione, ma non credo risolveresti correttamente il problema, che secondo me va risolto con una gestione più controllata dell'upload...

prova a dare un'occhiata a questo post
http://bit.ly/9SX41e
dove ci sono un paio di tips interessanti e poi dai un'occhiata al progetto a cui questo stesso post fa riferimento (quello open-source)
http://neatupload.codeplex.com/
non l'ho mai usato ma leggendone le caratteristiche penso che potrebbe fare al caso tuo...
HTH
Ti va in errore perchè per default in un'applicazione .net, puoi caricare file fino i 4 mega ma esiste un modo per "aumentare" la capacità, agendo direttamente da web.config, nel primo link che ti ha proposto dancer, trovi la sezione del web.config interessata a questo aspetto.

Creazione Siti Vicenza
Posizionamento Siti - SEO
come ha suggerito ricardo78, il problema potrebbe essere un limite nel webconfig, come pure un timeout dell'operazione.

Ad ogni modo, sconsiglio sempre di effettuare upload così grandi, IMHO l'approccio migliore è dividere il file in pacchetti ed inviarli ad un servizio remoto che li "riassembla".

Davide Guida
Technical Architect @ Razorfish Healthware
http://davideguida.altervista.org
mizrael ha scritto:
come ha suggerito ricardo78, il problema potrebbe essere un limite nel webconfig, come pure un timeout dell'operazione.

Ad ogni modo, sconsiglio sempre di effettuare upload così grandi, IMHO l'approccio migliore è dividere il file in pacchetti ed inviarli ad un servizio remoto che li "riassembla".


nel link che ho mandato c'è appunto la configurazione del web.config interessata, il fatto è che ad occhio e croce stabilire un limite è abbastanza aleatorio, se si tratta di pdf di grosse dimensioni allora qualunque limite potrebbe essere inadeguato, d'altro canto come suggeriva mizrael la soluzione più "pulita" sarebbe lo split e la union, ma dato che una volta avevo affrontato l'idea posso dire di essermi scoraggiato subito, dato che si tratta non tanto di una operazione complicata quanto delicata, infatti l'invio a "pacchetti" (passatemi il termine) comporta una gestione del riaggancio dei pacchetti già trasferiti in caso di errore, inoltre ci sono controlli di integrità da fare alla fine e secondo me non ci sono grossi miglioramenti in termini di performance, data anche l'ampiezza di banda oggi disponibile, per le aziende normalmente si dispone di upload sul Mbps e anche in ambito casalingo l'ADSL più scrausa raggiunge almeno 150-200 Kbps (attenzione, la "b" è minuscola!) che tutto sommato garantiscono buoni compromessi, ovviamente se il file è da un 1 GB il discorso cambia ma in quel caso siamo di foronte a scenari diversi...
Modificato da dancerjude il 13 ottobre 2010 00.34 -
beh si può sempre raggiungere un compromesso e fissare una dimensione massima dei files. In genere 10-20mb vanno più che bene, ovviamente dipende tutto dallo scenario applicativo.

Per quanto riguarda invece l'invio a pacchetti, non vedo particolari complessità nello sviluppo, basta pianificare tutto con cura. Se ad esempio si inizia ad usare WCF, magari con trasporto binario, salvando i pacchetti in maniera sequenziale sul filesystem o nel db (meglio) con un controllo di errore (basta un hash MD5 sullo stream), si comincia già a ragionare.

Come già detto, dipende tutto dall'applicazione :)

Davide Guida
Technical Architect @ Razorfish Healthware
http://davideguida.altervista.org
710 messaggi dal 13 novembre 2008
Contributi
va bene per le configurazioni nel web.config, ma avete provato, in un normale web form con file upload, a mettere un limite poniamo 20Mb aumentando l'executionTimeout, e uploadare un file, poniamo di 500Mb?

cioè come gestire l'errore, ma non solo, e soprattutto , come evitare attese di secondi da parte dell'utente fino a che il ContentLength è finalmente chekkato?

forse è veramente meglio WCF?
78 messaggi dal 27 ottobre 2006
l'opzione di dividere il file in più parti è da escludere in quanto l'utente del mio sito conosce appena il termine "zippare" :|
provo a guardare i link che mi avete inviato, intanto grazie!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.