title: How do you store a file locally using Apache Cordova 3.4.0
body: <p>I am having a problem storing a file locally on an iOS (or android) device using apache cordova's "file" plugin. The problem I believe is setting the path properly. </p>
  
  <p>this is the error message I get from Xcode 
  <em>Could not create path to save downloaded file: The operation couldn\U2019t be completed. (Cocoa error 512.)</em></p>
  
  <p>Here is the code where I am attempting to save the file locally:</p>
  
  <pre><code>&lt;script type="text/javascript" charset="utf-8" src="cordova.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" charset="utf-8"&gt;
  
  
  document.addEventListener("deviceready", onDeviceReady, false);
  
  var root;
  
  
  function onDeviceReady(){
      // Note: The file system has been prefixed as of Google Chrome 12:
      window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
      window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onInitFs, errorHandler);
  }
  
  function onInitFs(fs) {
  
  
      var fileURL = "cdvfile://localhost/persistant/file.png";
  
      var fileTransfer = new FileTransfer();
      var uri = encodeURI("http://upload.wikimedia.org/wikipedia/commons/6/64/Gnu_meditate_levitate.png");
  
      fileTransfer.download(
              uri,
              fileURL,
              function(entry) {
                  console.log("download complete: " + entry.fullPath);
              },
              function(error) {
                  console.log("download error source " + error.source);
                  console.log("download error target " + error.target);
                  console.log("upload error code" + error.code);
              },
              false,
              {
                  headers: {
                      "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
                  }
              }
      );
  }
  
  
  function errorHandler(e) {
    var msg = '';
  
    switch (e.code) {
      case FileError.QUOTA_EXCEEDED_ERR:
        msg = 'QUOTA_EXCEEDED_ERR';
        break;
      case FileError.NOT_FOUND_ERR:
        msg = 'NOT_FOUND_ERR';
        break;
      case FileError.SECURITY_ERR:
        msg = 'SECURITY_ERR';
        break;
      case FileError.INVALID_MODIFICATION_ERR:
        msg = 'INVALID_MODIFICATION_ERR';
        break;
      case FileError.INVALID_STATE_ERR:
        msg = 'INVALID_STATE_ERR';
        break;
      default:
        msg = 'Unknown Error';
        break;
    };
  
    alert('Error: ' + msg);
  }
  
  &lt;/script&gt;
  </code></pre>