我正在開發一個MVC 5應用程序並使用MS SQL Server作爲數據庫。我有這個應用程序的形式,它將存儲事件的詳細信息在數據庫中。在這種形式中,我有一個文件上傳字段。其實我想上載一個圖像在服務器上的文件夾中,並將其URL存儲在數據庫中,以便URL可以在我的前端使用。在MVC中的文件上傳5
以下是我創建的操作方法
public ActionResult Create([Bind(Include = "Id,Event_Name,Event_Description,Event_Detail,Image_Url,Event_Date,User_Name,Date_Uploaded,Category_ID")] WASA_Events wASA_Events)
{
var filePath = FileUpload();//Function call to get the uploaded file path
wASA_Events.Image_Url = filePath;
if (ModelState.IsValid)
{
db.WASA_Events.Add(wASA_Events);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.Category_ID = new SelectList(db.WASA_Events_Category, "id", "Event_Category", wASA_Events.Category_ID);
return View(wASA_Events);
}
和文件上傳功能,這將返回文件路徑爲下
public string FileUpload()
{
var filePath = "";
if(Request.Files.Count > 0)
{
var file = Request.Files[0];
if(file!=null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/images/uplods/"), fileName);
file.SaveAs(path);
filePath = path;
}
}
return (filePath);
}
在我看來,我用下面的
@using (Html.BeginForm("Create", "WASA_Events", FormMethod.Post, new { enctype = "multipart/form-data" }))
現在問題是我在Request.Files.Count中什麼都沒有,意思是它的值爲零。所以不能前進。
任何幫助。
是Request.Files.Count 0操作的代碼? – 2014-11-24 17:31:55
是的,我已檢查,它是0 – 2014-11-25 00:40:47