एमएसडीएन दस्तावेज के अनुसार, डिफ़ॉल्ट रूप से FileExtensionsAttribute (.NET 4.5) मुझे केवल jpg, jpeg, gif और png फ़ाइलों को अपलोड करने की अनुमति देनी चाहिए - जो मैं चाहता हूं ।एएसपी.नेट एमवीसी 3: डेटाअनोटेशन। फ़ाइल एक्सटेंशन नहीं काम
मैंने विशेषता के बिना एक jpg अपलोड करने का प्रयास किया, यह काम करता है। महान। तब मैं मेरे विचार मॉडल के लिए विशेषता को जोड़ ..
[FileExtensions(ErrorMessage = "Please specify a valid image file (.jpg, .jpeg, .gif or .png)")]
public HttpPostedFileBase ImageFile { get; set; }
कोई खुशी। सत्यापन विफल रहता है और त्रुटि संदेश दिखाया गया है। इसके शीर्ष पर किसी भी अनुमत कस्टम फ़ाइल एक्सटेंशन को निर्दिष्ट करने का कोई तरीका प्रतीत नहीं होता है। मैंने FileExtensionsAttribute को विस्तारित करने और अपने स्वयं के सत्यापन तर्क का उपयोग करके समाप्त किया, जो अपेक्षा के अनुसार काम करता है। लेकिन इस तरह से काम क्यों नहीं करता?
पूरे नियंत्रक को पोस्ट करेगा और यदि आवश्यक हो तो देखेंगे। मेरे द्वारा अपलोड की तर्क के लिए एक आधार के रूप में इस उदाहरण का इस्तेमाल किया, लेकिन इसके बजाय DataAnnotations.FileExtensionsAttribute का उपयोग कर Microsoft.Web.Mvc.FileExtensions की .. How do I upload images in ASP.NET MVC?
धन्यवाद: यह @jfeinour का एक संशोधित संस्करण, कि क्लाइंट साइड रूप में अच्छी तरह पर काम करेंगे है। आप FileExtensionsAttribute के बारे में सही नहीं थे, यह जानने के लिए कि फ़ाइल नाम का उपयोग कैसे करें। यह पैरामीटर को सत्यापित करने के लिए पैरामीटर की अपेक्षा करता है। –
इसके अलावा, एक नोट के रूप में, मुझे एहसास हुआ कि त्रुटि संदेश एक संपत्ति है जबकि फ़ाइल एक्सटेंशन फ़िल्टर स्ट्रिंग केवल वैकल्पिक कन्स्ट्रक्टर तर्क के रूप में सेट की जा सकती है (यह केवल पढ़ने वाली संपत्ति है)। प्रत्येक के लिए वाक्यविन्यास थोड़ा अलग है। –