2012-01-18 19 views
5

पहुँच छवियों

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

मैं एसडी कार्ड में डेटा का उपयोग करने उपरोक्त कोड का इस्तेमाल किया है। लेकिन अब मुझे क्या करने की ज़रूरत है, वहां मौजूद छवियों का मार्ग प्राप्त करें और इसे एक अलग वस्तु में रखें जो पथ तक पहुंच सके और उन छवियों को प्रदर्शित कर सके। मुझे इसके बारे में कोई संकेत नहीं है कि इसके बारे में कैसे जाना है। किसी भी मदद की सराहना की है।

+0

आपको उस छवि के पथ की आवश्यकता है जिसे उपयोगकर्ता चुनता है, या सभी छवियों के पथ? – ghostCoder

+0

यह स्पष्ट नहीं है कि आप क्या हासिल करना चाहते हैं। कृपया संपादित करें और थोड़ा स्पष्ट बनाएं। एक उपयोग केस उदाहरण अच्छा होगा। – ghostCoder

+0

मुझे एक ऑब्जेक्ट बनाने की आवश्यकता है जिसमें एसडी कार्ड में सभी छवियों का पथ होगा। यानी मुझे किसी अन्य ऑब्जेक्ट के माध्यम से सभी एसडी कार्ड छवियों तक पहुंचने में सक्षम होना चाहिए जिसमें छवि पथ होगा और सभी छवियों को खोलने में सक्षम होना चाहिए। – Khush

उत्तर

2

आप जो भी कर सकते हैं वह उस मंच के लिए एक फोनगैप प्लगइन लिखना है जिसके लिए आप विकास कर रहे हैं। मैं इसे एंड्रॉइड मानता हूँ। Writing android plugins.
जब आप प्लगइन, प्लगइन कॉल करने के लिए Phonegap.exec फोन, एक बुनियादी खोज सभी .jpg और .png फाइलें हो और एक वापस करने के लिए करता है

Environment.getExternalStorageDirectory().getAbsolutePath() 

के माध्यम से एसडी कार्ड पथ हो जाता है और उसके बाद फाइलों के सभी पथों के जेसन।

+0

यह विकल्पों में से एक हो सकता है। लेकिन अभी मैं देख रहा हूं क्या मुझे एसडी कार्ड में मौजूद छवियों की एक सूची मिल सकती है ?? मैं एंड्रॉइड और आईओएस के लिए एक ही कोड काम करना चाहता हूं। – Khush

+0

आपको इस नौकरी के लिए आईफोन एन एंड्रॉइड के लिए अलग प्लगइन लिखना होगा। जैसा कि मैंने वर्णन किया है, आप आसानी से छवियों की सूची प्राप्त कर सकते हैं। – ghostCoder

+0

क्या मेरे पास एसडी कार्ड छवियों के लिए एक अलग गैलरी बनाने और उन्हें प्रदर्शित करने के लिए कोई अन्य विकल्प नहीं है? – Khush

संबंधित मुद्दे