2012-01-20 12 views
45

जब मैं <input type="file"> के ब्राउज़ बटन पर क्लिक करता हूं तो मैं ब्राउज़र को जेपीजी फ़ाइलों तक सीमित करना चाहता हूं।विशिष्ट फ़ाइल प्रकार द्वारा इनपुट प्रकार = "फ़ाइल" संवाद फ़िल्टर कैसे करें?

क्या विशिष्ट फ़ाइल प्रकारों के लिए ब्राउज़ करना संभव है?

+1

अपलोड बटन किस तरह का? एचटीएमएल फ़ाइल इनपुट? फ्लैश? कुछ और? – Thilo

+0

आपकी फाइल कहां है? आपकी स्थानीय मशीन या वेब पर? –

+0

संभावित उत्तर: http://stackoverflow.com/questions/181214/file-input-accept-attribute-is-it-useful – Matt

उत्तर

50

http://www.w3schools.com/tags/att_input_accept.asp देखें:

स्वीकार विशेषता सभी प्रमुख ब्राउज़रों में समर्थित है सिवाय Internet Explorer और Safari,। परिभाषा और उपयोग

स्वीकृति विशेषता उन फ़ाइलों के प्रकार निर्दिष्ट करती है जो सर्वर स्वीकार करता है (जिसे फ़ाइल अपलोड के माध्यम से सबमिट किया जा सकता है)।

नोट: स्वीकृति विशेषता का उपयोग केवल <input type="file"> के साथ किया जा सकता है।

युक्ति: इस विशेषता का सत्यापन उपकरण के रूप में उपयोग न करें। फ़ाइल अपलोड सर्वर पर मान्य होना चाहिए।

सिंटेक्स <input accept="audio/*|video/*|image/*|MIME_type" />

युक्ति:।।, एक से अधिक मूल्य निर्दिष्ट करने के लिए एक अल्पविराम से मानों को अलग (जैसे <input accept="audio/*,video/*,image/*" />

+1

धन्यवाद .. लेकिन आईई के लिए इसे कैसे ठीक करें ?? –

+6

आप इसे ठीक नहीं करते हैं। ऐसा कुछ है जिस पर आपका कोई नियंत्रण नहीं है। बस यूआई में यह स्पष्ट करें कि उपयोगकर्ता को क्या चुनना चाहिए एक छवि है, और इसे सर्वर-साइड पर मान्य करें। यही है "फ़ाइल अपलोड सर्वर पर मान्य होना चाहिए" मतलब है। –

+0

यह सफारी में एमपी 4 को अचयनित बनाता है। आपको 'वीडियो/एमपी 4' निर्दिष्ट करने की भी आवश्यकता है। –

0

आप के साथ विशेषता स्वीकार उपयोग कर सकते हैं यह नहीं है आईई और सफारी में काम करें।

अपने प्रोजेक्ट स्केल और एक्स्टेंसिबिलिटी के आधार पर, आप स्ट्रूट्स का उपयोग कर सकते हैं। स्ट्रूट अपलोड किए गए फ़ाइल प्रकार को सीमित करने के दो तरीके प्रदान करता है, घोषणात्मक और प्रोग्रामेटिकल ly।

अधिक जानकारी के लिए: http://struts.apache.org/2.0.14/docs/file-upload.html#FileUpload-FileTypes

0

<input type="file" file-accept="jpg gif jpeg png bmp"> लिए एक कस्टम विशेषता जोड़ें और जावास्क्रिप्ट कि विशेषता file-accept द्वारा प्रदान की एक्सटेंशन से मिलान के भीतर फ़ाइल नाम पढ़ा। यह एक प्रकार का फर्जी होगा, जैसा कि ऊपर दिए गए किसी भी एक्सटेंशन के साथ टेक्स्ट फ़ाइल गलती से छवि के रूप में पहचाना जाएगा।

0
<asp:FileUpload ID="FileUploadExcel" ClientIDMode="Static" runat="server" /> 
<asp:Button ID="btnUpload" ClientIDMode="Static" runat="server" Text="Upload Excel File" /> 

$('#btnUpload').click(function() { 
    var uploadpath = $('#FileUploadExcel').val(); 
    var fileExtension = uploadpath.substring(uploadpath.lastIndexOf(".") + 1, uploadpath.length); 

    if ($('#FileUploadExcel').val().length == 0) { 
     // write error message 
     return false; 
    } 

    if (fileExtension == "xls" || fileExtension == "xlsx") { 
     //write code for success 
    } 
    else { 
     //error code - select only excel files 
     return false; 
    } 

}); 
+0

@slavoo ~ निश्चित रूप से एएसपी इनपुट का उपयोग करने के लिए ओपी को एएसपी चलाने की आवश्यकता होगी? आपके संपादन में अतिरिक्त क्यों है? UserAK47 के उत्तर की आवश्यकता नहीं है। – Pebbl

+1

@pebbl इस पोस्ट के ओपन संशोधन और संशोधन संख्या 2 पर 'साइड-बाय-साइड मार्कडाउन' पर स्विच करें, आप देख सकते हैं कि एएसपी इनपुट मेरे संपादन से पहले यहां था, लेकिन दिखाई नहीं दे रहा है, क्योंकि यह कोड बनाने से बाहर है। मैं केवल प्रारूप को ठीक करता हूं। – slavoo

+1

@ स्लावू ~ आह जो समझ में आता है ... अन्यथा मैं थोड़ी अजीब होगा हालांकि स्पष्टीकरण के लिए ty। – Pebbl

45

यह जब फ़ाइल संवाद दिखाया जा रहा है सही (कस्टम) फिल्टर दे देंगे:

<input type="file" accept=".jpg, .png, .jpeg, .gif, .bmp, .tif, .tiff|images/*"> 
संबंधित मुद्दे