我使用文件上传在DB上插入文件路径,在项目目录中插入文件上传的文件,我添加了我的代码但是效果不好。
<div class="editor-field create-Bt2">
@Html.EditorFor(model => model.Active)
@Html.ValidationMessageFor(model => model.Active)
</div>
<div>
<p class="create-Bt ">
<input type="submit" value="Create" />
</p>
</div>
[HttpPost]
public ActionResult Create(Category category)
{
if (ModelState.IsValid)
{
var fileName = "";
var fileSavePath = "";
var uploadedFile = Request.Files[0];
fileName = Path.GetFileName(uploadedFile.FileName);
fileSavePath = Server.MapPath("../../Uploads/" +
fileName);
uploadedFile.SaveAs(fileSavePath);
db.Categories.Add(category);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(category);
}
答案 0 :(得分:3)
在表格上
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<input type="submit" />
</form>
在您的控制器
中[HttpPost]
public ActionResult Index(HttpPostedFileBase file) {
if (file.ContentLength > 0) {
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
// save the path to your table
// db.???
db.SaveChanges();
}
return RedirectToAction("Index");
}