निम्नलिखित पर एक नजर है
@using (Html.BeginForm("FileUpload", "Home", FormMethod.Post,
new { enctype = "multipart/form-data" }))
{
<label for="file">Upload Image:</label>
<input type="file" name="file" id="file" style="width: 100%;" />
<input type="submit" value="Upload" class="submit" />
}
आपके नियंत्रक के पास एक्शन विधि होनी चाहिए जो स्वीकार करेगी HttpPostedFileBase;
public ActionResult FileUpload(HttpPostedFileBase file)
{
if (file != null)
{
string pic = System.IO.Path.GetFileName(file.FileName);
string path = System.IO.Path.Combine(
Server.MapPath("~/images/profile"), pic);
file.SaveAs(path);
using (MemoryStream ms = new MemoryStream())
{
file.InputStream.CopyTo(ms);
byte[] array = ms.GetBuffer();
}
}
return RedirectToAction("actionname", "controller name");
}
अपडेट १
यदि आप asynchornously के साथ jQuery का उपयोग करके फ़ाइलें अपलोड करना चाहते हैं, तो इस लेख को आज़माएं ।
सर्वर साइड (कई अपलोड के लिए) को संभालने के लिए कोड है;
try
{
HttpFileCollection hfc = HttpContext.Current.Request.Files;
string path = "/content/files/contact/";
for (int i = 0; i < hfc.Count; i++)
{
HttpPostedFile hpf = hfc[i];
if (hpf.ContentLength > 0)
{
string fileName = "";
if (Request.Browser.Browser == "IE")
{
fileName = Path.GetFileName(hpf.FileName);
}
else
{
fileName = hpf.FileName;
}
string fullPathWithFileName = path + fileName;
hpf.SaveAs(Server.MapPath(fullPathWithFileName));
}
}
}
catch (Exception ex)
{
throw ex;
}
यह नियंत्रण छवि नाम (एक जावास्क्रिप्ट कॉल बैक में) भी लौटाता है, जिसके बाद आप इसका उपयोग DOM में चित्र प्रदर्शित करने के लिए कर सकते हैं।
अद्यतन २
वैकल्पिक रूप से, आप MVC 4 में Async फ़ाइल अपलोड की कोशिश कर सकते हैं ।
Pro ASP MVC 4SportsStore Tutorialpage 292