2010-11-15 25 views
10

Sto costruendo una pagina web per la quale ho bisogno di un'implementazione di caricamento multi-file che può comprimere un file prima di caricarlo sul server.Caricamento di più file con controllo md5 prima del caricamento

L'idea è che gli utenti possano caricare file che potrebbero o meno esistere sul server. Per risparmiare larghezza di banda, desidero eseguire l'hash del file prima di caricarlo sul server, inviare l'hash tramite POST e procedere con il caricamento solo se il server risponde che non ha un file con questo hash.

Esistono implementazioni gratuite basate su Flash (suppongo che JavaScript non sia in grado di caricare il file e cancellarlo) che potrebbe funzionare per me?

+1

Interessante richiesta, ma non riesco a vedere nulla nella direzione. Ecco una richiesta di funzionalità correlate in swfupload: http://code.google.com/p/swfupload/issues/detail?id=287 potresti prendere in considerazione l'idea di aprire una richiesta di funzione tu stesso oppure aggiungerla tu stesso a SWFUpload o un'implementazione simile se tu parli Flash. Dovrebbe essere relativamente facile far passare il valore MD5 a un callback Javascript (penso ci sia già un callback 'onselect'), e fare il resto tramite una richiesta Ajax –

+0

Potrebbe essere d'aiuto: http: // stackoverflow. com/domande/768.268/how-to-calcolare-md5-hash-di-un-file-con-javascript –

risposta

3

È possibile leggere i file in Javascript, l'API FileReader in HTML5 farà il lavoro per voi.

Avanti, alimentano la stringa base64 in b64_md5() funzione fornita da questa libreria: http://pajhome.org.uk/crypt/md5/instructions.html

Nota che potrebbe richiedere molto tempo se il file è troppo grande. Potrebbe anche essere necessario che i Web Worker eseguano lo sfondo della conciliazione.

Problemi correlati