什麼是錯的:asp.net MVC 3 - 將文件上傳到服務器,我可以將文件名不保存到數據庫模型
查看
@model GestionWeb.DAL.Client
@using (Html.BeginForm("Index", "Config", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.LabelFor(model => model.TimeZone)
@Html.EditorFor(model => model.TimeZone)
@Html.ValidationMessageFor(model => model.TimeZone)
@Html.HiddenFor(model => model.ClientId)
@Html.LabelFor(model => model.Logo)
<input type="file" name="Logo" id="Logo" />
@Html.ValidationMessageFor(model => model.Logo)
<input type="submit" value="Upload" />
}
控制器:
[HttpPost]
public ActionResult Index(Client client)
{
if (ModelState.IsValid)
{
if (Request.Files[0].ContentLength > 0)
{
HttpPostedFileBase file = Request.Files[0];
string filePath = Path.Combine(HttpContext.Server.MapPath("/Upload/"), Path.GetFileName(file.FileName));
file.SaveAs(filePath);
client.Logo = file.FileName;
}
db.Client.Attach(client);
UpdateModel<Client>(client);
//db.ObjectStateManager.ChangeObjectState(client, EntityState.Modified);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(client);
}
我可以寫入文件,但文件名不會保存到數據庫中,我沒有收到錯誤,我可以更新TimeZone字段(以及其他許多字段)。
我在做什麼錯了?我無法弄清楚!
謝謝
不是問題的答案,但請看到這一點: - http://stackoverflow.com/questions/4535627/where-is-the-best-place-to-save-images-from-users上傳/ 4535684#4535684如果您關心安全停止使用文件名稱用戶給您的文件,您將其保存到。 – 2011-06-11 04:46:54
謝謝,我會考慮這些風險,但該頁面並不能解決我的問題。 – Santiago 2011-06-11 15:45:19