cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Clelland <>
Subject New and/or improved file plugin
Date Mon, 16 Dec 2013 05:38:08 GMT
On Friday I finally committed the Android changes and the last of the iOS
changes to the file plugin to the dev branch of cordova-plugin-file.

For those of you who haven't been following along, there are two big
changes in this release:

   1. The plugin is now modular; code that handles regular files on the
   filesystem is now separate from code that handles e.g., app assets.
   2. FileEntry objects now use a new URL scheme:
   filesystem://localhost/<filesystemType>/<path to file>. These URLs are
   generated by all file operations, and are passed over the bridge to native
   code. (This is in contrast to the previous version, which passed around
   absolute paths on the device filesystem).

For app developers:

   - If you have previously been storing file:/// urls on the device, and
   those files exist *outside* of the standard filesystem roots, (this should
   only be the case if you are manipulating the URLs that the File plugin
   sends back,) those URLs will almost certainly not work with filesystem
   operations in this new version. (For instance, you may still be able to set
   them as image sources, etc, but you won't be able to create readers or
   writers to them with the File API)
   - If you have been storing file:/// URLs that exist within the normal
   (temporary, persistent) filesystems, then they probably still work, as long
   as you are calling window.resolveLocalFileSystemURI on them to get
   FileEntries. You may find that they need to be converted to the new
   filesystem:// scheme for some operations -- if you do, then just call
   resolveLocalFileSystemURI on them, and use .toURL() on the entry that you
   get back.
   - If you just use window.requestFilesystem(), and traverse the
   filesystem from there, then you should see no changes at all. The values
   you will see if you call toURL() on any of the FileEntry or DirectoryEntry
   objects will be different than before, but will be accepted by any of the
   filesystem methods that take URLs.

For cordova developers:

I'm sure that, despite passing all of the original tests, and the tests
that I've added, there are still some bugs lurking somewhere. If you have
apps that use File or FileTransfer, please take some time to try them out
with the dev version of File, and report any bugs that you find.



  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message