我想在编辑模式下编辑其他东西,但我不想重新上传编辑模式下的图像文件,该模式已经在create模式。所以我想在编辑模式下查看图像的路径。如何在ASP.Net中更新上传的文件并删除旧的文件MVC
public ActionResult Edit(HttpPostedFileBase file, FileUpload fileupload)
{
if (ModelState.IsValid)
{
if (file != null)
{
string fil = System.IO.Path.GetFileName(file.FileName);
string path = System.IO.Path.Combine(Server.MapPath("~/Content/Uploads/Files/"), fil);
file.SaveAs(path);
fileupload.FileURL = "/Content/Uploads/Files/" + file.FileName;
}
db.Entry(fileupload).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(fileupload);
}
和编辑视图模式是:
@using (Html.BeginForm("Edit", "FileUploadTest", FormMethod.Post, new { enctype = "multipart/Form-data" }))
{
@Html.AntiForgeryToken()
<label for="file">Upload Image:</label>
<input type="file" name="file" id="file" style="width:50%" />
<input type="submit" value="Save" class="btn btn-default" />
}
我已经上传了使用创建操作/查看方法的文件。
我该如何做到这一点?
我使用'Image'作为一个单独的对象来讨论'Model'。例如,一篇新闻文章可能有一张图片。当我编辑(或添加)时,我检查图像是否已上传,并**将图像追加为数据库中的相关对象。在这种情况下,也许你可以在图像页面有一个'hidden'字段,并将你的'file'输入重命名为与提交时检查相关的非模型。这样,如果没有图像上传,隐藏字段将被使用,现有的文件路径仍然存在。 – scgough
什么是你的'FileUpload'模型?这是什么你想改变没有重载图像? –
@teovankot我使用简单的模型来保存图像的路径。 public class FileUpload { public int FileUploadId {get;组; } public string FileURL {get;组; } } – userKG