2010-07-17 18 views

उत्तर

1

आप जावास्क्रिप्ट में नहीं जा सकते हैं (माफ करना भी जादुई jQuery यहां मदद नहीं कर सकता!)। आपके लिए छवि लाने के लिए आपको एक सर्वर साइड स्क्रिप्ट की आवश्यकता होगी और उस आकार की गणना करें जिसे आप अपने पृष्ठ पर वापस कर सकते हैं।

नोट - डाउनवॉटर सावधान रहें, ओपी का Google डोमेन नहीं है! इस बाहर

+0

किसी भी डाउनलोड योग्य सामग्री एक आकार की है और वहाँ है कि जानकारी पुन: प्राप्त करने के कुछ अच्छी तरह से परिभाषित तरीके हैं। – Manfre

+0

@ user326404 जेएस में नहीं, मुझे डर है – redsquare

+1

@redsquare - यह गलत है। var xhr = new XMLHttpRequest(); xhr.open ('HEAD', 'http: //whatever.file.git', सत्य); xhr.onreadystatechange = function() { अगर (xhr.readyState == 4) { अगर (xhr.status == 200) { अलर्ट ('बाइट्स में आकार:' + xhr.getResponseHeader ('सामग्री-लंबाई')); } } }; xhr.send (शून्य); – bmelton

3

आप चित्र URL के लिए HTTP HEAD अनुरोध कर सकता है। यह HTTP शीर्षलेख वापस करेगा, जिसमें सामग्री-लंबाई (ए.के.ए. फ़ाइल आकार) शामिल है। इसके लिए सर्वर को अतिरिक्त अनुरोध की आवश्यकता होती है, जो स्थिर रूप से कार्य करने के बजाए छवि उत्पन्न होने पर बहुत प्रभावी नहीं होती है।

+0

स्मार्ट! जानना अच्छा लगा :) – johnjohn

3

मैं किसी एक तरह से लगातार सटीक फ़ाइल आकार पाने के लिए के बारे में पता नहीं है, लेकिन अगर आप कुछ हुप्स के माध्यम से कूद करने को तैयार हैं आप:

1) आयामों के आधार पर अनुमान और फ़ाइल प्रकार। संपीड़न तकनीकों के कारण कुछ व्यापक भिन्नता है, लेकिन आप शायद कुछ आंकड़े चला सकते हैं और आधा सभ्य ह्युरिस्टिक के साथ आ सकते हैं।

2) आईई में, fileSize किसी छवि की संपत्ति का उपयोग करें। कैनवास का समर्थन करने वाले अन्य ब्राउज़रों में, डेटाURL को पकड़ने के लिए in this question on getting image data in JavaScript वर्णित तकनीक का उपयोग करें, फिर गणित करें (3/4 से गुणा करें, क्योंकि बेस 64 एक 4/3 आकार वृद्धि है)।

संपादित

3) सुझाव दूसरों दे दिया है (प्रश्न फेबियन Bernede के जवाब में जुड़े हुए में सविस्तार विशेष रूप से के रूप में) के बारे में हो रही HTTP हेडर प्रतिभाशाली और सटीक है। शायद कुछ मामलों में क्रॉस-डोमेन प्रतिबंधों का सामना करना पड़ता है, लेकिन फिर भी शायद सबसे संगत और प्रभावी विधि है।

+1

निश्चित रूप से सबसे अधिक 'संगत' और प्रभावी विधि छवि को पकड़ने और इसका मूल्यांकन करने के लिए एक सर्वर पक्ष प्रॉक्सी है! – redsquare

+0

पूछताछ करने के लिए पूरी तरह से सही, और ध्यान देने योग्य - मुझे बस लगता है कि उन्हें कुछ बाधाएं या रुचि थी जिसका मतलब था कि वे जावास्क्रिप्ट के साथ यह पूरी तरह से कर रहे थे। –

-3

$ FILESIZE = strlen (file_get_contents ($ imageSrcTag)) // < - php

+1

प्रश्नकर्ता जावास्क्रिप्ट कहते हैं। वह किस तरह का जवाब है? – erm3nda

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