显示来自Sdcard的所有图像

时间:2013-06-21 09:36:11

标签: javascript android file jquery-mobile cordova

我正在使用Phonegap 2.2.0。 我想从我的Android设备获取所有图像/照片/壁纸与图像保存路径。 到目前为止,我所做的是

    <!DOCTYPE html>
<html>
  <head>

    <script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js"></script>
    <script type="text/javascript" charset="utf-8">

    document.addEventListener("deviceready",onDeviceReady,false);

    function onDeviceReady() {
       window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, onFail);
    }

     function onFail(message) {
      alert('Failed because: ' + message);
    }

    function gotFS(fileSystem) {
        fileSystem.root.getFile("1.jpg", {create: true}, gotFileEntry, fail);
    }

    function gotFileEntry(fileEntry) {
        fileEntry.file(gotFile, fail);
    }

    function gotFile(file){
        readDataUrl(file);  
    }

    function readDataUrl(file) {
           var reader = new FileReader();
           reader.onloadend = function(evt) {
           console.log("Read as data URL");
           console.log(evt.target.result);
           document.getElementById("smallImage").style.display='block'; 
           document.getElementById("smallImage").src = evt.target.result;   
        }; 
        reader.readAsDataURL(file);
    }

    function fail(evt) {
        console.log(evt.target.error.code);
    }
    </script>
  </head>
  <body>
    <img style="display:none;width:60px;height:60px;" id="smallImage" src="" />
    <img style="display:none;" id="largeImage" src="" />
  </body>
</html>

代码只给我一张图片,但我想要所有图片。 任何建议都会很棒。

感谢。

1 个答案:

答案 0 :(得分:0)

您需要从根FS创建一个DirectoryReader,并遍历查找.svg文件的所有条目。

function gotFS(fileSystem) {
    var reader = fileSystem.root.createReader();
    reader.readEntries(gotList, fail)l
}

function gotList(entries) {
    var i;
    for (i=0; i<entries.length; i++) {
        if (entries[i].name.indexOf(".svg") != -1) {
            uploadPhoto(entries[i].fullPath);
        }
    }
}