2013-04-15 10 views
6

का उपयोग कर फ़ाइल के आयामों का पता लगाने के लिए Dropzone.js का उपयोग करके, मुझे फ़ाइलों को जोड़ने के दौरान छवि के dimesions का पता लगाने की आवश्यकता है और उन्हें अपने माता-पिता .details div पर लागू करें। निम्नलिखित कोड कोड काम करता है और जोड़ा छवि चौड़ाई के साथ एक चेतावनी लौटाता है।फ़ाइल एपीआई और Dropzone.js

myDropzone.on("addedfile", function(file, xhr) { 
    var fr; 
    fr = new FileReader; 
    fr.onload = function() { 
    var img; 
    img = new Image; 
    img.onload = function() { 
     return alert(img.width); 
    }; 
    return img.src = fr.result; 
    }; 
    return fr.readAsDataURL(file); 
}); 

बात मैं पता नहीं कैसे अपनी मूल .details तत्व है जो पूर्वावलोकन का पूर्वावलोकन चौड़ाई सेट करने के चौड़ाई आवंटित करने के लिए होता है।

मैं इस कोड के लिए अलर्ट को बदलने का प्रयास करता हूं लेकिन यह कुछ भी नहीं करता है।

$(this).parent('.details').css('height',img.height); 

मैं अपने माता-पिता वर्ग में इसे लागू करने के लिए ऑनलोड फ़ंक्शन के अंदर मान को कैसे जोड़ूं, इस बारे में थोड़ा सा खो गया हूं।

उत्तर

4

ड्रॉपज़ोन के नवीनतम संस्करण के साथ आपको यह कोड स्वयं लिखना नहीं है।

थंबनेल जेनरेट होने पर file ऑब्जेक्ट पर सेट file.width और file.height गुणों को बस पढ़ें।

समस्या, आपका सीएसएस तत्व को क्यों प्रभावित नहीं करता है, क्योंकि आपने इस मामले में यूनिट, px निर्दिष्ट नहीं किया है। तो आपका कोड हो सकता है:

myDropzone.on("thumbnail", function(file) { 
    $(this.element).parent('.details').css('height', file.height + 'px'); 
}); 
+0

आपने सवाल नहीं पढ़ा है, है ना? – nikans

+0

@nikans विस्तृत करने के लिए देखभाल करते हैं? – enyo

+0

लोड फ़ाइल के साथ काम करते समय कोई 'file.width' और' file.height' को नहीं पढ़ता है। आपको 'FileReader()' का उपयोग करने और कुछ अजीब चीजें करने की आवश्यकता है। – nikans

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