- From: <piranna@gmail.com>
- Date: Mon, 3 Jun 2013 00:02:16 +0200
- To: "public-webapps@w3.org" <public-webapps@w3.org>
> The File API spec does allow browsers to store File by reference. > I thought so... that's the reason I was surprised when readed about implementors where doing otherwise and in fact didn't found anything about it on the spec. > Note that there's one limitation to keep in mind. File is meant to > represent a snapshot of the file at the time the user gave them to the site, > rather than the latest copy. That is, if you store a File object in > something like IDB, and the user changes the file, the next time the site is > loaded it should either see a copy of the file as it was before, or get an > error, not see the user's changes. This is meant as a security measure; the > idea is that a user giving a file to a site may not expect that he's giving > access to that file, and all future changes, for all time, and that > expecting users to manually revoke access to files somehow isn't reasonable. > > This is represented by the "snapshot state" concept. > http://dev.w3.org/2006/webapi/FileAPI/#snapshot-state-section > In fact, this can be seen both ways, just a snapshoot or a live update... From my point of view, if an app want just a file particular version (a snapshoot, by instance), it would directly copy and/or upload it, and if it wants to get the updated version, it would get the reference and being aware of this particular case. > The difficulty is that most filesystems don't support lightweight snapshots > of files. Making a deep copy is one way to implement this, but painfully > inefficient for large files. Storing the file's modification time with the > snapshot, and using it to determine if the file has been changed, should be > a close enough approximation to address the security concerns. The spec > allows this (it leaves the specifics of the "state of the underlying > storage" as an implementation detail). > > I don't know if there are other IndexedDB-specific issues (not familiar with > that API). > I don't remember to read about them, or at least my interpretation give me to think there was no problems and Files and Blob objects would be added as references. In fact, I remember to read some months ago that Firefox was storing Files and Blobs directly on hard disk files on a hidden folder, only that now I'm not sure if user specified files are being directly specified (that I believe it's the good way to do it) or are being previously being copied inside this hidden folder (storing a particular copy, but also wasting a lot of hard disk space, and also don't allowing to have references inside IndexedDB for "live files", that's what I'm interested for). -- "Si quieres viajar alrededor del mundo y ser invitado a hablar en un monton de sitios diferentes, simplemente escribe un sistema operativo Unix." – Linus Tordvals, creador del sistema operativo Linux
Received on Sunday, 2 June 2013 22:03:06 UTC