Ho un'applicazione web in cui gli utenti possono caricare documenti d'ufficio. Oltre a caricare file, gli utenti specificano anche informazioni aggiuntive su di essi che non sono contenute nei file stessi ma sono importanti per l'applicazione web. Informazioni come mydocument.docx sono brochure o manuali, ecc.
I file vengono caricati immediatamente dopo la selezione, ma le altre informazioni, ad esempio se un determinato file è o meno un opuscolo, vengono inviate al server solo quando l'utente fa clic su un pulsante di salvataggio.
Quindi ho bisogno di un modo per sincronizzare le informazioni che un utente invia su un file con i dati del file anche se sono caricati separatamente. Per prima cosa ho pensato di usare un hash MD5 dei dati di ogni file come modo per collegare le informazioni, ma le prestazioni sono terribili e lo rendono irrealizzabile.
Un'altra idea che ho è di usare Math.random più il nome del file e l'ID dell'utente come chiave per collegarli. Dal momento che Math.random è basato sul tempo di sistema, dovrebbe essere abbastanza unico da rendere altamente improbabili le collisioni.
C'è un modo migliore per farlo che mi manca? Entrambi questi metodi si sentono un po 'pesante / hacky per quello che sto cercando di fare.