This article has been localized into Hindi by the community.
फ़ाइलअपलोड नियंत्रण
ASP.NET के साथ, यूज़र्स से फ़ाइल अपलोड स्वीकार करना बेहद आसान हो गया है. फ़ाइलअपलोड नियंत्रण के साथ, यह काफ़ी कम कोड लाइनों के साथ किया जा सकता है, जैसा कि आप आगे के उदाहरण में देखेंगे. हालांकि, कृपया ध्यान दें कि यूज़र्स से फ़ाइलों को स्वीकार करते समय कुछ सुरक्षा चिंताएं हैं जिनपर विचार करना होगा! आवश्यक मार्कअप यहां है:
<form id="form1" runat="server">
<asp:FileUpload id="FileUploadControl" runat="server" />
<asp:Button runat="server" id="UploadButton" text="Upload" onclick="UploadButton_Click" />
<br /><br />
<asp:Label runat="server" id="StatusLabel" text="Upload status: " />
</form>
और अपलोड को संभालने के लिए आवश्यक कोडबिहाइंड कोड यहां है:
protected void UploadButton_Click(object sender, EventArgs e)
{
if(FileUploadControl.HasFile)
{
try
{
string filename = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
StatusLabel.Text = "Upload status: File uploaded!";
}
catch(Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
}
जैसा कि आप देख सकते हैं, यह सब अपेक्षाकृत सरल है. अपलोडबटन पर क्लिक करने के बाद, हम यह देखने के लिए जांच करते हैं कि एक फ़ाइल अपलोड नियंत्रण में निर्दिष्ट की गई है या नहीं. यदि की गई है, तो हम फ़ाइल को सेव करने के लिए फ़ाइलअपलोड नियंत्रण की सेवऐज़ विधि का उपयोग करते हैं. हम अपने प्रोजेक्ट के रूट (हम इसे पाने के लिए मैपपाथ विधि का प्रयोग करते हैं) और साथ ही यूज़र द्वारा निर्दिष्ट पथ के नाम वाले भाग का भी उपयोग करते हैं. अगर सबकुछ ठीक से होता है, तो हम स्टेटसलेबल की टेक्स्ट प्रॉपर्टी सेट करके यूज़र को सूचित करते हैं - यदि नहीं, तो एक अपवाद फेंक दिया जाएगा, और हम यूज़र को भी सूचित करते हैं.
इस उदाहरण से काम हो जाएगा, लेकिन जैसा कि आप देख सकते हैं, कुछ भी जाँचा नहीं गया है. यूज़र किसी भी प्रकार की फाइल अपलोड कर सकता है, और फ़ाइल का आकार केवल सर्वर कॉन्फ़िगरेशन द्वारा ही सीमित है. एक और पुख्ता उदाहरण इस तरह दिख सकता है:
protected void UploadButton_Click(object sender, EventArgs e)
{
if(FileUploadControl.HasFile)
{
try
{
if(FileUploadControl.PostedFile.ContentType == "image/jpeg")
{
if(FileUploadControl.PostedFile.ContentLength < 102400)
{
string filename = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
StatusLabel.Text = "Upload status: File uploaded!";
}
else
StatusLabel.Text = "Upload status: The file has to be less than 100 kb!";
}
else
StatusLabel.Text = "Upload status: Only JPEG files are accepted!";
}
catch(Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
}
यहां हम उस फ़ाइल की कुछ बुनियादी जांच करने के लिए दो विशेषताओं, कंटेंटलेंथ और कंटेंटटाइप का उपयोग करते हैं, जिसे उपयोगकर्ता अपलोड करने का प्रयास कर रहा है. स्टेटस संदेशों को स्पष्ट रूप से इंगित करना चाहिए कि वे किस बारे में हैं, और आप उन्हें अपनी आवश्यकताओं के अनुसार बदल सकते हैं.