type subir read por manejo linea leer example ejemplo archivos archivo javascript html5 upload fingerprinting

subir - read file javascript



Identifica los archivos de forma Ășnica antes de subirlos con la API de archivos HTML5 (1)

Estoy construyendo un cargador de archivos usando la API de archivos HTML5. Quiero asegurarme de que no se carguen archivos duplicados, según los datos reales que contienen. Esto significa que dos archivos deben considerarse idénticos, incluso si su nombre es diferente o se encuentran en una carpeta diferente.

He considerado calcular un hash con md5, pero como todo esto tiene que ocurrir en el lado del cliente, con javascript, los archivos más grandes tardarán demasiado. Cuando digo grande, me refiero a un video de hasta 5GB.

Para que quede claro, esto no tiene que implicar una suma de verificación, solo quiero identificar de manera única los archivos. Hashing podría ser excesivo para este propósito, pero fue lo primero que se le vino a la mente.

Actualización: supongo que necesito un algoritmo de huella digital liviano. Encontré a Rabin como un ejemplo en Wikipedia, pero no tengo idea de cómo implementarlo en javascript.


No hay atajos. Si necesita reconocer archivos duplicados con cero ambigüedad, entonces debe leer y comparar el contenido completo de los archivos.

Pero si puedes vivir con cierto nivel de falsos positivos, entonces puedes tomar algunas estrategias. Para un problema similar, calculo el hash MD5 para un subconjunto dado de bloques de archivos (usando una ventana invariante predefinida).