asp.net MVC4 프레임 워크에서 파일을 업로드 받기 위한 코드입니다.

먼저 HTML 쪽에 아래와 같이 파입 업로드 폼을 만들어줍니다.


<form action="Upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file"> 
    <input type="submit">
</form>


그 다음 컨트롤러에서 웹페이지에서 POST된 파일을 받아 저장합니다.


[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
	if (ModelState.IsValid)
	{
		if (file.ContentLength > 0)
		{
			var fileName = Path.GetFileName(file.FileName);
			var path = Path.Combine(Server.MapPath("~/App_Data"), fileName);
			file.SaveAs(path);
		}
	}
	return RedirectToAction("Index");
}


여러 파일을 전송 받을 때는 아래와 같이 변경 해줍니다.


<form action="Upload" method="post" enctype="multipart/form-data">
    <input type="file" name="files" id="file1">
    <input type="file" name="files" id="file2">
    <input type="submit">
</form>
[HttpPost]
public ActionResult Upload(IEnumerable<httppostedfilebase> files)
{
	if (ModelState.IsValid)
	{
	    foreach(var file in files)
		{
			if (file.ContentLength > 0)
			{
				var fileName = Path.GetFileName(file.FileName);
				var path = Path.Combine(Server.MapPath("~/App_Data"), fileName);
				file.SaveAs(path);
			}
		}
	}
	return RedirectToAction("Index");
}



+ Recent posts