Question

I had a piece of code working with Cordova 2.7. I upgraded my app to Cordova 3.3 along with upgrading all the custom plugins I developed.

I was successfully able to get the full absolute path of the Documents directory on iOS with Cordova 2.7, but with Cordova 3.3 it just returns / for the fullPath

Here is my code:

window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

function gotFS(fileSystem) {
    alert("entered gotFS: " + fileSystem.root.fullPath);
}

I tested this on iPad Simulator 7.0 (which was giving correct results with Cordova 2.7)

Although, I can get the path with other methods, I would prefer to use the Cordova API.

The API documentation doesn't mention anything about this. Any idea what could be wrong?

Was it helpful?

Solution 2

Since few users requested for my answer, here is how I managed to get the Documents directory path:

var documentsDirectoryPath = decodeURIComponent(window.location.href);
documentsDirectoryPath = documentsDirectoryPath.substring("file://".length);
documentsDirectoryPath = documentsDirectoryPath.substring(0, documentsDirectoryPath.indexOf("/<<YOUR_APP_NAME>>.app/www/index.html"));
documentsDirectoryPath += "/Documents";

Remember to replace YOUR_APP_NAME with your app's name

OTHER TIPS

try changing fullpath to toURL() and test

window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

function gotFS(fileSystem) {
  alert("entered gotFS: " + fileSystem.root.toURL());
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top