मुझे यह Google, click here पर मिला, जिसने किसी एक समान प्रश्न पूछा, एक प्रतिक्रिया प्राप्त करने के लिए कि उन्हें जांच करनी चाहिए कि उनकी फ़ाइल मौजूद है या नहीं। हालांकि, मैं वेब लिंक से छवियों को लोड कर रहा हूं, जिसमें यह एक त्रुटि छवि प्रदर्शित करता है यदि ए) चित्र नहीं मिला है या बी) यदि, फोटोबकेट जैसी छवि होस्टिंग सेवाओं की तरह, 'बैंडविड्थ से अधिक' छवि प्रदर्शित करता है। क्या यह पता लगाने का कोई तरीका है कि कोई त्रुटि छवि दिख रही है या कोई छवि अमान्य है या नहीं?चित्र बॉक्स में त्रुटि छवि का उपयोग किया जाता है
उत्तर
हाँ, LoadCompleted घटना आपको बताता है कि क्या गलत हुआ:
private void pictureBox1_LoadCompleted(object sender, AsyncCompletedEventArgs e) {
if (e.Error != null) {
// You got the Error image, e.Error tells you why
}
}
वहाँ भी एक मामले में जहां छवि लोड ठीक से पूरा कर लिया है, लेकिन वहाँ कुछ छवि फ़ाइल के साथ ही गलत था हो सकता है:
private void pictureBox1_Paint(object sender, PaintEventArgs e) {
if (pictureBox1.Image == pictureBox1.ErrorImage) {
// You got the Error image
}
}
यह इवेंट हैंडलर लोड त्रुटियों को भी पकड़ता है, इसलिए हो सकता है कि आप इसका उपयोग करना चाहें।
मान्य चित्रों की जांच करने का कोई मानक तरीका नहीं है जैसा आप करना चाहते हैं। 'बैंडविड्थ पार हो गया' छवि कंप्यूटर की आंखों में एक पूरी तरह से वैध तस्वीर है।
फिर भी आप कम से कम कुछ "गलत" छवियों को छान के लिए कुछ चाल की कोशिश कर सकते:
- आप छवियों को लोड कर रहे हैं, एक वेब कनेक्शन है कि कोई स्वत: रीडायरेक्ट करता है की स्थापना की। यदि आप किसी अन्य स्थान पर रीडायरेक्ट किए जाते हैं, तो संभवतः 'बैंडविड्थ पार हो गया' छवि झूठ बोलने पर आप किसी प्रकार का अर्थपूर्ण स्थापित कर सकते हैं जो छवि को "अमान्य" के रूप में वर्गीकृत करता है। इस विधि का दोष निश्चित रूप से है कि आप संभावित रूप से उन छवियों को फ़िल्टर कर रहे हैं जो पुनर्निर्देशन के पीछे हैं और जो मान्य हैं।
- बस वेब सर्वर द्वारा दी गई तस्वीर के नाम की जांच करें। यदि आप "http://test.tld/image.jpg" जैसे किसी एड्रेस से कनेक्ट होते हैं लेकिन "bandwidth_exceeded.jpg" या कुछ ऐसा ही पुनर्प्राप्त करते हैं, तो केस स्पष्ट होना चाहिए। इस विधि के लिए यह आवश्यक है कि आप जानते हैं कि छवि होस्टर का नाम 'बैंडविड्थ पार हो गया' या 'अब उपलब्ध नहीं' छवियों का नाम है।
- ज्ञात 'खराब' छवियों के खिलाफ किसी प्रकार की छवि पहचान जांच। एक बल्कि परिष्कृत एक।
आप देखते हैं कि वे अर्थपूर्ण ब्लैक सूचियां सही चीज़ों की तुलना में हर चीज हैं, शायद खराब छवियों को भी खराब कर दें।
ठीक है, मुझे नहीं लगता कि मुझे अब तक जाने की आवश्यकता है, क्योंकि बैंडविड्थ छवि को पार कर गया है, क्योंकि एक्स एक संभव प्रारूप था? – DMan
ठीक है, तो मैंने आपके प्रश्न को गलत समझा ... –
- 1. छवि चित्र बॉक्स की स्केलिंग
- 2. चित्र बॉक्स में फिट करने के लिए बड़ी छवि
- 3. चित्र बॉक्स मेमोरी
- 4. चित्र चित्र बॉक्स को तेजी से प्रदर्शित करें
- 5. सी # अस्पष्टता त्रुटि जब गुणों का उपयोग किया जाता है
- 6. मुझे कैसे पता चलेगा कि चित्र को चित्र बॉक्स
- 7. ImmutableObjectAttribute का उपयोग कैसे किया जाता है?
- 8. एप्लिकेशन अभिविन्यास (परिदृश्य या चित्र) लॉक कैसे किया जाता है?
- 9. लेआउट का उपयोग कैसे किया जाता है?
- 10. स्ट्रिंगियो का उपयोग कब किया जाता है?
- 11. क्यों ओजीआई का उपयोग किया जाता है?
- 12. सुहोसिन का उपयोग क्यों किया जाता है?
- 13. @JsonProperty प्रॉपर्टी का उपयोग कब किया जाता है और इसके लिए क्या उपयोग किया जाता है?
- 14. क्लैंग का अधिक उपयोग क्यों नहीं किया जाता है?
- 15. Google Analytics '__utm.gif का उपयोग किस लिए किया जाता है?
- 16. UIImagePickerController हमेशा चित्र 640x640 छवि
- 17. अभ्यास में क्विकॉर्ट का उपयोग क्यों किया जाता है?
- 18. वास्तव में XQUERY का उपयोग कैसे किया जाता है?
- 19. सिल्वरलाइट में App.xaml का उपयोग क्या किया जाता है?
- 20. क्यों रैंड में 1103515245 का उपयोग किया जाता है?
- 21. एसवीएन में पैच का उपयोग क्या किया जाता है?
- 22. FakeItEasy में डमी का उपयोग क्या किया जाता है?
- 23. एक csproj फ़ाइल में AppDesignerFolder का उपयोग किया जाता है?
- 24. आईएसओ में NSUserDefaults का उपयोग क्यों किया जाता है?
- 25. .NET में प्रतिबिंब का उपयोग क्यों किया जाता है?
- 26. jQuery में $ (0) और $ (1) का उपयोग किया जाता है?
- 27. कैसे ConcurrentDictionary का उपयोग किया जाता है और इसे क्रमबद्ध कैसे किया जाता है?
- 28. "# 1054 - अज्ञात कॉलम" त्रुटि जब क्वेरी में उपनाम का उपयोग किया जाता है?
- 29. क्या "एप्लिकेशन त्रुटि" संवाद बॉक्स अक्षम किया जा सकता है?
- 30. चित्र बनाम फोटो बनाम छवि - नामकरण मॉडल
बेशक यह आपको बताएगा कि एक छवि लोड नहीं की जा सकती है (उदाहरण के लिए अलग से 404), लेकिन यह किसी भी छवियों को फ़िल्टर नहीं करेगा, जो कि भेजे गए हैं मेजबान (उदाहरण के लिए 'बैंडविड्थ' छवि पार हो गई है, या एक छवि जो सर्वर भेजती है अगर सर्वर सर्वर पर हटा दी गई थी)। –
+1 और उत्तर के रूप में स्वीकार किया गया, छवि की तुलना में कोड का आपका दूसरा ब्लॉक और त्रुटि इमेज पूरी तरह से काम करता है। – DMan