访问SD卡中的图像

Khu*_*ush 5 javascript cordova

    var pictureSource;   // picture source
    var destinationType; // sets the format of returned value 
    var photoid=window.localStorage.getItem("photoid");
    var photoData=null;
    // Wait for PhoneGap to connect with the device
    //
    document.addEventListener("deviceready",onDeviceReady,false);

    // PhoneGap is ready to be used!
    //
    function onDeviceReady() {
        pictureSource=navigator.camera.PictureSourceType;
        destinationType=navigator.camera.DestinationType;

    }

    // A button will call this function
    //
    function getPhoto(source) {
        alert("Entered sd card");
        // Retrieve image file location from specified source
        navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, 
                                    destinationType: destinationType.FILE_URI,
                                    sourceType: source });
    }

    function onPhotoDataSuccess(imageData) {
         console.log(imageData);

        // Get image handle
        var smallImage = document.getElementById('photos');

        // Unhide image elements
        //
        smallImage.style.display = 'block';

        // Show the captured photo
        // The inline CSS rules are used to resize the image
        //
        smallImage.src = "data:image/jpeg;base64," + imageData;
        alert(imageData);
        photoData = imageData;
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
    }

    function gotFS(fileSystem) {
        fileSystem.root.getFile("/sdcard/external_sd/"+photoid+".jpg", null, gotFileEntry, fail);
    }

    function gotFileWriter(writer) {
        writer.onwrite = function(evt) {
            alert("write success");
        };
        writer.write(photoData);
    }

    function fail(error) {
        alert(error.code);
    }


    /*   function onPhotoURISuccess(imageURI) {
        // Uncomment to view the image file URI 
         console.log(imageURI);
        alert("photo captured");
        uploadPhoto(imageURI);
    } */

    /*  function getPhoto(source) {
        // Retrieve image file location from specified source
        navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, 
                                    destinationType: destinationType,
                                    sourceType: source });
    } */

    // Called if something bad happens.
    // 
    function onFail(message) {
        alert('Failed because: ' + message);
    }
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码访问SD卡中的数据.但现在我需要做的是,获取存在的图像的路径并将其放入可以访问路径并显示这些图像的diff对象中.我不清楚如何去做.任何帮助表示赞赏.

gho*_*der 2

您可以做的是为您正在开发的平台编写一个phonegap 插件。我假设它是安卓。编写安卓插件。
当调用Phonegap.exec调用插件时,插件通过获取sd卡路径

Environment.getExternalStorageDirectory().getAbsolutePath()
Run Code Online (Sandbox Code Playgroud)

然后进行基本搜索以获取所有 .jpg 和 .png 文件并返回所有文件路径的 json。