sql-server - 在 asp.net mvc 中编辑图像
问题描述
我在上传文件夹中保存了一张图片,并在 SQL Server 中保存了它的路径。当我单击编辑按钮时,它应该显示上传的图像,当我选择新图像时,它应该删除现有图像文件并上传新图像。
这是代码:
<div class="card">
<div class="card-header">
<h5 class="card-title text-uppercase">add new</h5>
</div>
<div class="card-body">
@using (Html.BeginForm("Edit", "ImageSlider", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(m=>m.Id)
<div class="form-group">
@Html.LabelFor(m => m.ImagePath)
<div class="custom-file">
<input type="file" name="postedFile" class="custom-file-input" id="customFile">
<label class="custom-file-label" for="customFile">Choose file</label>
</div>
</div>
<img src="@Url.Content(Model.ImagePath)" alt="@Model.ImageName" class="img-thumbnail" width="100" height="100" />
<div class="form-group">
<button type="submit" class="btn btn-sm btn-primary rounded-0 text-uppercase">Upload</button>
<a href="@Url.Action("List","ImageSlider")" class="btn btn-sm btn-primary rounded-0 text-uppercase"><i class="fas fa-backward"></i> Back to List</a>
</div>
}
</div>
这是我的控制器:
[HttpGet]
[Route("Edit/{id}")]
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var slider = db.ImageSliders.Find(id);
if (slider == null)
{
return HttpNotFound();
}
return View(slider);
}
[HttpPost]
[ValidateAntiForgeryToken]
[Route("Edit/{id}")]
public ActionResult Edit(ImageSlider imageSlider)
{
if (ModelState.IsValid)
{
db.Entry(imageSlider).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("List", "ImageSlider");
}
return View();
}
解决方案
推荐阅读
- python - 如何使用 re.sub 删除数字
- javascript - 在 Firebase 中创建用户并同时在 Angular 中将其数据保存在 Firestore 中
- node.js - nodejs和babel:从未定义的结果中导入
- javascript - 无法在 window.print() 上使用 CSS
- java - XML 签名验证失败
- javascript - 如果调用funtionA Insider funtionB,会调用functionA吗?编译级别发生了什么?
- swift - 是否可以在命令行模式下运行仅限 Swift 的 Cocoa 应用程序
- xml - 如何将xsd元素名称动态定义为复杂类型
- javascript - 如何将子函数调用到主函数中
- javascript - 绑定日历中选定日期的 Angular 事件是什么?