2012-01-18 1 views
5

изображения доступа в SD-карте

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); 
    } 

Я использовал приведенный выше код для доступа к данным в сд карты. Но теперь мне нужно сделать, получить путь к изображениям, присутствующим там, и поместить их в объект diff, который может получить доступ к пути и отобразить эти изображения. Я понятия не имею, как это сделать. Любая помощь приветствуется.

+0

Вам нужен путь к изображению, которое пользователь выбирает, или пути ко всем изображениям? – ghostCoder

+0

его непонятно, чего вы хотите достичь. PLS редактировать и сделать это немного яснее. пример использования был бы хорош. – ghostCoder

+0

Мне нужно создать объект, который будет содержать путь ко всем изображениям на SD-карте. то есть мне нужно иметь доступ ко всем изображениям SD-карты через другой объект, который будет иметь путь к изображению, и должен иметь возможность открывать все изображения. – Khush

ответ

2

Что вы можете сделать, это написать плагин phonegap для платформы, для которой вы разрабатываете. Я предполагаю, что это андроид. Writing android plugins.
При вызове Phonegap.exec вызвать плагин, плагин, получает путь сд карты через

Environment.getExternalStorageDirectory().getAbsolutePath() 

, а затем делает основной поиск, чтобы получить все .jpg и .png файлы и возвращать json всех путей файлов.

+0

Это может быть один из вариантов. Но я смотрю прямо сейчас. Могу ли я получить список изображений, присутствующих на SD-карте? Я хочу, чтобы тот же код работал на Android и IOS. – Khush

+0

Вам нужно будет написать отдельные плагины для iphone n android для этой работы. u может легко получить список изображений так, как я описал. – ghostCoder

+0

У меня нет другой возможности сделать отдельную галерею для изображений SD-карты и отобразить их? – Khush

Смежные вопросы