Hãy xem những điều sau đây
@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" />
}
bộ điều khiển của bạn nên có phương pháp hành động sẽ chấp nhận 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");
}
Cập nhật 1
Trong trường hợp bạn muốn tải tệp lên bằng jQuery với asynchornously, thì hãy thử bài viết này .
mã để xử lý phía máy chủ (để tải lên nhiều lần) là;
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;
}
điều khiển này cũng trả về tên hình ảnh (trong javascript gọi lại) mà sau đó bạn có thể sử dụng nó để hiển thị hình ảnh trong DOM.
CẬP NHẬT 2
Ngoài ra, bạn có thể thử Tải lên tệp không đồng bộ trong MVC 4 .
Pro ASP MVC 4
nhữngSportsStore Tutorial
không che khởi đầu này trênpage 292