如何处理多个图像上传

时间:2017-02-04 19:39:51

标签: c# asp.net asp.net-mvc

我正在使用ASP.NET MVC网站,该网站允许用户将多个图像上传到图库。用户上传图像后,在将图像保存到数据库之前,用户可以使用jQuery拖放重新排序图像。然后,用户可以提交他们的上传内容。用户稍后还可以编辑他们的图库,并再次能够重新调整他们的图像顺序。我不会将图像保存到数据库,只保存文件名。我不知道如何最好地处理这个问题。我认为POST控制器将采用List<HttpPostedFileBase>参数,然后转换为byte [] array以维护图像顺序。然后将图像名称以逗号分隔的字符串保存到数据库中?处理这个问题的最有效方法是什么?

1 个答案:

答案 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();
}