Получите доступ к SD-карте в Android для загрузки файла на мой php-сервер с помощью phonegap - PullRequest
0 голосов
/ 31 марта 2012

Я хочу пойти, чтобы выбрать файл из SDCard и загрузить его на сервер.Возможно ли получить доступ к SDCard в Android через PhoneGap, как, как мы выбираем изображение из галереи и загрузки.Я просмотрел примеры, но все они также указывают имя файла, например: mnt / sdcard / read.txt.Но я хочу перейти только на SDCard, чтобы пользователь мог выбрать свой собственный файл, если это возможно.

1 Ответ

0 голосов
/ 09 апреля 2012
U can easily do that its very easy

    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccessUpload, fail);

    function onFileSystemSuccessUpload(fileSystem) {
     // get directory entry through root and access all the folders
             var directoryReader = fileSystem.root.createReader();

    // Get a list of all the entries in the directory
    directoryReader.readEntries(successReader,fail); 

          }

      function successReader(entries) {
        var i;
        for (i=0; i<entries.length; i++) {
           //alert(entries[i].name);
           if(entries[i].isDirectory==true)
           {
             var directoryReaderIn = entries[i].createReader();
            directoryReaderIn.readEntries(successReader,fail); 

           }

            if(entries[i].isFile==true)
             {
          entries[i].file(uploadFile, fail);
           }
        }
    }; 

 function uploadFile(file) {
var target=""; //the url to upload on server
     var ft = new FileTransfer(),path = "file://"+ file.fullPath,name = file.name;
                ft.upload(path, target, win, fail, { fileName: name });
               // var ft = new FileTransfer();
              //ft.upload(file.fullPath, target, win, fail, options);


            function win(r) {
                alert("Code = " + r.responseCode);
               alert("Response = " + r.response);
                alert("Sent = " + r.bytesSent);
            }

            function fail(error) {
                alert("An error has occurred: Code = " + error.code);
            }
}
...