我正在使用ASP.NET MVC网站,该网站允许用户将多个图像上传到图库。用户上传图像后,在将图像保存到数据库之前,用户可以使用jQuery拖放重新排序图像。然后,用户可以提交他们的上传内容。用户稍后还可以编辑他们的图库,并再次能够重新调整他们的图像顺序。我不会将图像保存到数据库,只保存文件名。我不知道如何最好地处理这个问题。我认为POST控制器将采用List<HttpPostedFileBase>
参数,然后转换为byte [] array
以维护图像顺序。然后将图像名称以逗号分隔的字符串保存到数据库中?处理这个问题的最有效方法是什么?
答案 0 :(得分:1)
好吧,如果我们拖放一边,请将此视为您的观点:
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="files" value="" multiple="multiple"/>
<input type="submit" value="Upload"/>
}
在您的控制器中:
[HttpPost]
public ActionResult Index(HttpPostedFileBase[] files)
{
try
{
foreach (HttpPostedFileBase file in files)
{
string name = System.IO.Path.GetFileName(file.FileName);
file.SaveAs(Server.MapPath("~/Images/" + name));
string filename = "Images/" + name;
//Save the the filename to your database
}
}
catch
{
throw ex;
}
return View();
}