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?
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:
Natürlich könnte dies zu einer falschen Datei führen, aber auch Hashing.
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 .
Tags und Links javascript html5 file-upload fileapi