window.resolveLocalFileSystemURL vs window.request

2020-08-16 17:15发布

问题:

What is the difference in using window.resolveLocalFileSystemURL vs window.requestFileSystem when downloading files with the cordova file plugin? I cant find any documentation on resolveLocalFileSystemURL but it works fine, and its easier to use?

Which one should I use for simple CRUD operations in a cordova app?

(I use cordova 3.4.0-0.1.3)

I use it like this:

function onResolveSuccess(fileEntry) {

            fileEntry.file(function(file) {
               var reader = new FileReader();

               reader.onloadend = function(evt) {
                    var _machines = JSON.parse(evt.target.result);  
                    machinesCache.setMachines(_machines.AllMainCategories);
               };

               reader.readAsText(file);
            }, errorHandler);

        };

        window.resolveLocalFileSystemURL("cdvfile://localhost/persistent/machinedata/machines.json", onResolveSuccess, errorHandler);

回答1:

Looking at www/resolveLocalFileSystemURI.js and www/requestFileSystem.js in the file plugin repo, I would say that they are practically the same.

I'd suggest using resolveLocalFileSystemURL if you want to access locations under cordova.file.* (eg cordova.file.dataDirectory), which is most of the time (if not always), and use requestFileSystem if you need to have access to the root of the filesystem.