Beispiel: Der Benutzer lädt einige sehr große Bilder oder Mediendateien in Ihre Webanwendung. Wenn sie zurückkehren, möchten Sie, dass Ihre App das anzeigt, was sie zuvor geladen haben, aber die tatsächlichen Dateidaten können nicht in LocalStorage gespeichert werden, da die Daten zu groß sind.
Dies ist NICHT mit localStorage
möglich. Die in localStorage
gespeicherten Daten müssen einer der primitiven Typen sein, die serialisiert werden können. Dies beinhaltet nicht das Objekt File
.
Dies funktioniert beispielsweise nicht wie erwartet:
%Vor%Die Lösung besteht darin, eine leistungsfähigere Speicheroption wie das Schreiben der Dateiinhalte in das HTML5-Dateisystem oder versteckt es in IndexedDB .
Technisch können Sie, wenn Sie nur kleine Dateien in localStorage speichern müssen.
Nur base64 das ist ish und da es eine Zeichenfolge ist ... es ist localStorage-freundlich.
Ich denke, localStorage hat ein Limit von ~ 5MB. base64-Strings haben eine recht geringe Dateigröße, daher ist dies eine praktikable Möglichkeit, kleine Bilder zu speichern. Wenn Sie den Weg dieses faulen Mannes benutzen, müssen Sie die 5MB Grenze beachten. Ich denke, es könnte eine Lösung sein, die auf Ihre Bedürfnisse zugeschnitten ist.
Ja, das ist möglich. Sie können beliebige Informationen über die gewünschte Datei in LocalStorage einfügen, vorausgesetzt, Sie führen eine Serialisierung zu einem der unterstützten primitiven Typen durch . Sie können die gesamte Datei auch in LocalStorage serialisieren und später abrufen, wenn Sie möchten, aber die Größe der Datei hängt vom Browser ab.
Im Folgenden wird gezeigt, wie dies mit zwei verschiedenen Ansätzen erreicht wird:
%Vor%Tags und Links javascript html5 file filereader