Please try this code ..
There is window.appRootDir.fullPath through the full path, but before that you should use dirReady();
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title> Insert title here </title> <script type="text/javascript" src="lib/android/cordova-1.7.0.js"> </script> <script type="text/javascript"> window.appRootDirName = "download_test"; document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { console.log("device is ready"); window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); } function fail() { console.log("failed to get filesystem"); } function gotFS(fileSystem) { console.log("filesystem got"); window.fileSystem = fileSystem; fileSystem.root.getDirectory(window.appRootDirName, { create: true, exclusive: false }, dirReady, fail); } function dirReady(entry) { window.appRootDir = entry; console.log("application dir is ready"); } downloadFile = function() { var fileTransfer = new FileTransfer(); var url = "http://www.irs.gov/pub/irs-pdf/fw4.pdf"; var filePath = window.appRootDir.fullPath + "/test.pdf"; fileTransfer.download( url, filePath, function(entry) { alert("download complete: " + entry.fullPath); }, function(error) { alert("download error" + error.source); }); } </script> </head> <body> <a href="#" onclick="downloadFile()">Download File</a> </body> </html>
source share