2010-07-28 14 views
6

में AsyncFileUpload के फ़ाइल ब्राउज़ मेनू में फ़ाइल प्रकार को प्रतिबंधित कैसे कर सकता हूं, मैं फ़ाइल अपलोड संवाद में जो कुछ देखता हूं उसे प्रतिबंधित करना चाहता हूं, जो डिफ़ॉल्ट रूप से "सभी फ़ाइलें" पर सेट है । मैं समझता हूं कि कैसे सत्यापित किया जाए कि उन्होंने केवल एक निश्चित फ़ाइल प्रकार अपलोड किया है, यह प्रश्न यहां नहीं है। मैं सिर्फ फाइल चयन संवाद में फ़ाइल प्रकार को डिफ़ॉल्ट करने के बारे में जानना चाहता हूं।मैं ASP.NET AJAX नियंत्रण टूलकिट

क्या इसे "पीएनजी केवल" या "* .png" में बदलने का कोई तरीका है?

यह एएसपी.NET AJAX नियंत्रण टूलकिट में AsyncFileUpload का उपयोग कर रहा है।

उत्तर

2

AJAX नियंत्रण टूलकिट के वर्तमान संस्करण में यह विकल्प नहीं है।

लेकिन अच्छा नया यह है कि आप source code प्राप्त कर सकते हैं और एक संपत्ति जोड़ सकते हैं इसे संभाल लें।

3

आप सत्यापन के लिए एक JavaScript फ़ंक्शन आग, इस तरह नियंत्रण पर OnClientUploadStart संपत्ति का उपयोग कर सकते हैं:

<cc1:AsyncFileUpload ID="FileUpload" runat="server" 
    OnClientUploadStarted="checkExtension" /> 

फिर अपने पेज में इस स्क्रिप्ट है या शामिल:

function checkExtension(sender, args) { 
    var ext = args.get_fileName().substring(filename.lastIndexOf(".") + 1); 
    if (ext != 'png') { 
    args.set_cancel(true);       //cancel upload 
    args.set_errorMessage("File type must be .png"); //set error message 
    return false; 
    } 
    return true; 
} 

इस में अगर हम एक्सटेंशन प्राप्त करने/जांचने के लिए क्लाइंट-साइड एपीआई के विभिन्न बिट्स का उपयोग कर रहे हैं, false लौट रहे हैं और अगर यह अमान्य है तो अपलोड/अपलोड संदेश को अपलोड/वैकल्पिक रोकना।

+2

यह लोडिंग को रोकता है लेकिन एक बदसूरत "समर्थित नहीं" त्रुटि फेंकता है क्योंकि set_cancel मौजूद नहीं है। यह समाधान के बहुत करीब है लेकिन सेट _ *** फ़ंक्शंस को कॉल करने के लिए एक कस्टम अपवाद फेंकने की आवश्यकता है। – daniloquio

10

यह मेरे लिए काम कर रहा है (प्रेरणा के लिए धन्यवाद DavRob)।

<cc1:AsyncFileUpload ID="FileUpload" runat="server" 
    OnClientUploadStarted="AssemblyFileUpload_Started" /> 

<script> 
function AssemblyFileUpload_Started(sender, args) { 
    var filename = args.get_fileName(); 
    var ext = filename.substring(filename.lastIndexOf(".") + 1); 
    if (ext != 'png') { 
     throw { 
      name:  "Invalid File Type", 
      level:  "Error", 
      message:  "Invalid File Type (Only .png)", 
      htmlMessage: "Invalid File Type (Only .png)" 
     } 
     return false; 
    } 
    return true; 
} 
</script> 
+1

+1 यह वास्तव में काम करता है, धन्यवाद। – daniloquio

+1

यह काम करता है, लेकिन यह स्क्रीन पर एक चेतावनी फेंकता है जब तक कि आप OnClientUploadError ईवेंट की सदस्यता नहीं लेते हैं और उस पर कुछ भी नहीं करते हैं। –

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