Angenommen, ich habe ein Array von benutzerdefinierten Dateien.JavaScript & HTML-Datei-API- kann ein JavaScript-Objekt, das auf einem Dateiobjekt basiert, immer noch den Speicherort der Datei enthalten?
In meiner Anwendung entspricht jede ausgewählte Datei einer Person. Sobald der Benutzer die Dateien auswählt, erscheint eine Tabelle. In der linken Spalte steht der Name jeder Datei. In der rechten Spalte muss der Benutzer den Namen der relevanten Person eingeben. Sobald alle Namen ausgefüllt sind, kann der Benutzer die Dateien hochladen. Da Hunderte von Namen ausgefüllt werden könnten, möchte ich in der Lage sein, den Fortschritt des Benutzers regelmäßig in localStorage zu speichern, falls die Seite aktualisiert wird.
Ich kann jedes Dateiobjekt (var thisFile) zu einem Upload-Skript übergeben und der Browser weiß, wo die Datei zu finden ist.
Allerdings möchte ich in der Lage sein, die Liste der ausgewählten Dateien in localStorage zu speichern, und JSON.stringify wird ein Dateiobjekt ausziehen.
Also sagen, ich zuerst ein Javascript-Objekt basierend auf dem Dateiobjekt erstellen (var Datei unten).
Wenn ich dann var Datei an das Upload-Skript übergeben, wird der Browser immer noch in der Lage sein, die Datei zu finden, oder wäre der vollständige Pfad zur Datei verloren gegangen?
for (var i = 0; i < userSelectedFiles.length; i++) {
//File object (Stripped out by JSON.stringify).
var thisFile = userSelectedFiles[i];
//Create a javascript object based on the file object (Not stripped out by JSON.stringify).
var file: {
'lastModified': thisFile.lastModified,
'lastModifiedDate': thisFile.lastModifiedDate,
'name': thisFile.name,
'size': thisFile.size,
'type': thisFile.type
},
}
Was möchten Sie tun? – Lewis
Sie können das Ereignis "onbeforeunload" verwenden, um Daten zu speichern, bevor die Seiten entladen werden. Außerdem sollten Sie 'JSON.stringify' nicht für' File'-Objekte verwenden. – Lewis
@AJP Bitte denken Sie daran, Ihre Frage zu bearbeiten/zu aktualisieren, um den obigen Kommentar in den Hauptteil der Frage einzubeziehen und nicht nur .as Kommentar – sideshowbarker