【问题标题】:Access sd card in android for uploading a file to my php server using phonegap在android中访问sd卡以使用phonegap将文件上传到我的php服务器
【发布时间】:2012-03-31 06:10:49
【问题描述】:

我想从 sdcard 中选择一个文件并将其上传到服务器。是否可以通过phonegap访问android中的sdcard,就像我们从图库中选择图像并上传一样。我浏览了示例,但所有示例都指定了文件名,例如:mnt/sdcard/read.txt。但我只想转到 sdcard 以便用户可以选择自己的文件。

【问题讨论】:

标签: file-upload cordova android-sdcard


【解决方案1】:
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);
            }
}

【讨论】:

  • @Guru 如何执行这个,因为我试过了,什么都没发生...你可以发布你的 html...
  • 它将在后台开始上传。此代码将扫描整个文件系统并在后台继续上传到 php 服务器。相反,首先检查它的工作是否将其放入您的 index.html 和 function successReader(entries) { var i; for (i=0; i
  • 如果一切正常,您应该会看到文件系统中文件夹的名称。
  • 我尝试警告它正在提供 sd 卡内的所有文件...但我想查看 sdcard 并从中选择任何文件并将其上传到服务器。有可能还是只有我们可以查看内容......
  • stackoverflow.com/questions/10045065/… 你能用这种方式检查这个 cide 我也试过什么都没发生......
猜你喜欢
  • 2013-07-25
  • 1970-01-01
  • 1970-01-01
  • 2014-08-14
  • 2011-09-10
  • 2014-03-30
  • 2011-10-17
  • 2017-04-20
  • 1970-01-01
相关资源
最近更新 更多