2016-05-07 1 views
0
function creatingFolder(fileSystem) { 
      var entry = fileSystem.root; 
      entry.getDirectory("productpictures", {create: true, exclusive: false}, win, error); 
      window.newfolder = fileSystem.root.toURL()+"/productpictures"; 

     } 

     function win(dir) { 
      alert("Created dir with name: "+dir.name); 
      alert("Created dir at: "+dir.toURL()); 
      alert("Created dir NativePath: " + dir.nativeURL); 
      alert('done '+window.newfolder); 
     } 

     function error(error){ 
       alert('hmm: '+error.code+' message: '+error.message); 
     } 

Ok, donc [productpictures] est un dossier que mon application va créer et les utilisateurs de l'application peuvent télécharger des fichiers dans ce dossier [productpictures]. Ma question est comment puis-je permettre aux utilisateurs de mon application d'accéder à ce dossier [productpictures] après la fermeture de l'application. Maintenant, quand je crée ce dossier sur un vrai appareil Android, le chemin est: file: ///data/data/com.packagename/files/files/productpictures.cordova créer un dossier dans sdcard - interne ou externe

Il est donc possible de créer ce dossier à un autre endroit où les utilisateurs d'appareils Android peuvent accéder facilement même après avoir fermé l'application. Je veux créer ce dossier [productpictures] en place comme sdcard/productpictures ou dans la galerie photo Android ou dossier de téléchargement de l'appareil Android.

Un autre code que j'ai essayé, mais qui n'a pas fonctionné;

function creatingFolder(fileSystem) { 
      var entry = fileSystem.root; 
      entry.getDirectory(cordova.file.externalRootDirectory+"/productpictures", {create: true, exclusive: false}, win, error); 
      window.newfolder = cordova.file.externalRootDirectory+"/productpictures"; 

     } 

Donc, vous n'avez trouvé aucune ressource en ligne pour accomplir cela. Je veux cette fonctionnalité parce que les utilisateurs devraient être en mesure d'envoyer un courriel ou de partager les fichiers dans le dossier [productpictures] et avoir ce dossier à l'intérieur d'un emplacement comme fichier: //data/data/com.package/files/files/productpictures est trop complexe.

Merci de votre aide à l'avance.

Répondre

1

Ce code exemple vous permet de créer un dossier dans le répertoire racine externe dans le dossier Android et iOS documents:

function writeFile() { 
      if (sessionStorage.platform.toLowerCase() == "android") { 
       window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory, onFileSystemSuccess, onError); 
      } else { 
       window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, onError); 
      } 
    }  

    function onError(e) { 
     alert("onError"); 
    }; 

    function onFileSystemSuccess(fileSystem) { 
     var entry = ""; 
     if (sessionStorage.platform.toLowerCase() == "android") { 
      entry = fileSystem; 
     } else { 
      entry = fileSystem.root; 
     } 
     entry.getDirectory("Folder_Name", { 
      create: true, 
      exclusive: false 
     }, onGetDirectorySuccess, onGetDirectoryFail); 
    }; 

    function onGetDirectorySuccess(dir) { 
     dir.getFile(filename, { 
      create: true, 
      exclusive: false 
     }, gotFileEntry, errorHandler); 
    }; 

    function gotFileEntry(fileEntry) { 
     // logic to write file in respective directory 
    }; 

    function errorHandler(e) { 
     // handle error 
    }