FileReferenceList altro non è che una collezione di FileReference ... con la FileReferenceList si procede così:

1 - fai scegleire uno o più files
2 - fai l'upload del primo
3 - ad upload finito, se presente, fai partire l'upload del secondo
4 - torni al punto 3 fino alla fine della lista di oggetti FileReference scelti dall'utente e restituiti dalla FileReferenceList

Per avere uno stato di progressione dell'upload totale, devi prima fare un loop su tutte le size e salvare il totale sizes in una variabile, poi confronti durante l'upload del primo la sua size con il totale di tutte, finito l'upload aggiungi alla prima size quella in upload del secondo file, e via dicendo per avere una progressione sul totale.

Per avere successo con ogni upload puoi interagire con il servfer attraverso chiamate in get in fase di upload, le SESSIONI, ad esempio, non vanno o sono buggate o sono diverse, quindi o cookie o get.

Finito l'upload di un file il server oltre a spostare tale file dovrebbe verificare che tutto sia andato a buon fine, fermi temporaneamente l'upload totale, leggi con una LoadVars in semplice load l'info che ti interessa generata sul server ad upload terminato, fai partire in caso di successo l'upload successivo, sempre se presente.

Le dimenzioni di ogni singolo file non devono superare il limite massimo presente sul server, altrimenti rischi di non ritrovarti file più grandi di 2 mega (per fare un esempio) ma magari uploadi tutti gli altri (19 contro 20).

Per avere un riscontro sul server puoi anche servirti del valore error, riferito al file, che deve essere pari a 0.


L'utilizzo della FileReferenceList potrebbe essere visto come una transazione, devi anche considerare, qualora l'insieme dei files scelti sia fondamentale o debba essere un numero certo di files (esempio inserimento in db di almeno 2 immagini di un prodotto), di dover tenere traccia di tutta l'operazione e di resettare quanto fatto fino a quel momento qualora un solo file non sia stato inserito / uploadato con successo.