Fortsetzbare Uploads mit HTML5 File Upload API -

9

Ich möchte fortsetzbare Uploads mit Html5 implementieren, und alles scheint zu funktionieren, außer zu erkennen, dass die zu ladende Datei dieselbe ist, die bereits teilweise hochgeladen wurde. Idealerweise hätte ich eine clientseitige Hashing-Funktion der Datei, die eine eindeutige ID erzeugt - allerdings konnte ich keine funktionierende Implementierung finden und sie scheint für große Dateien zu langsam zu sein (so wie ich es behandle).

Als nächstes habe ich darüber nachgedacht, den Pfad zur Datei als eindeutigen Bezeichner zu verwenden, aber ich habe keine Möglichkeit gesehen, ihn aus der API zu beziehen. Dateiname, auch wenn der Dateiname pro Benutzer berücksichtigt wird, kann nicht eindeutig sein, da Benutzer häufig Namen für Dateien haben. Jeder kann sich eine Lösung dafür denken?

    
Yuval 27.07.2011, 17:02
quelle

2 Antworten

1

Ich nehme an, dass Sie die beste Wahl haben, ist ein einfaches Hashing (MD5 ist bei großen Dateien zu langsam, um nützlich zu sein).

Eine Alternative: Benennen Sie die Uploads nach dem Dateinamen (und einer laufenden Nummerierung, wenn mehrere Dateien mit demselben Namen hochgeladen werden, z. B. Datei-1, Datei-2, Datei-3) und überprüfen Sie zufällige Bytes in der bereits hochgeladene Datei und die lokale Datei. Zum Beispiel:

  1. Finden Sie alle Dateien mit demselben Dateinamen (mit Ausnahme der laufenden Nummerierung)
  2. Vergleichen Sie 10 Byte alle 10 MB vom Server mit der lokalen Datei. Wenn diese Bytes übereinstimmen, können Sie sich sicher genug fühlen, dass dies die richtige Datei ist.

Natürlich könnte dies zu einer falschen Datei führen, aber auch Hashing.

    
zpon 06.12.2011 07:43
quelle
0

Wie in erwähnt, können Sie einen angehaltenen oder beschädigten Datei-Upload bei Mozilla Hacks fortsetzen die Datei im Browser mithilfe von IndexedDB , damit Sie den Upload fortsetzen können, ohne dass der Benutzer die Datei erneut auswählen muss.

>

Eine Anleitung zum Speichern von Dateien mit IndexedDB finden Sie unter Bilder speichern und Dateien in IndexedDB .

    
Jeffery To 19.06.2012 03:49
quelle