C# 在asp.net mvc中上载单个文件而不是多个文件
我正在尝试使用asp.NETMVC4创建一个网站,在那里我可以将数据存储在MSSQL数据库中,并将上传的图像文件存储在本地存储器中。到目前为止,数据已成功存储,但每当我选择要上载的多个图像时,它仅上载第一个选定的图像。这是我的密码 控制器C# 在asp.net mvc中上载单个文件而不是多个文件,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在尝试使用asp.NETMVC4创建一个网站,在那里我可以将数据存储在MSSQL数据库中,并将上传的图像文件存储在本地存储器中。到目前为止,数据已成功存储,但每当我选择要上载的多个图像时,它仅上载第一个选定的图像。这是我的密码 控制器 [HttpPost] public ActionResult FlatManager(FlatMgt FlatTable, HttpPostedFileBase[] files) { if (Session["username"
[HttpPost]
public ActionResult FlatManager(FlatMgt FlatTable, HttpPostedFileBase[] files)
{
if (Session["username"] != null)
{
if (ModelState.IsValid)
{
var AddFlat = FlatTable.Flats;
db.FlatInfoes.Add(AddFlat);
db.SaveChanges();
foreach (HttpPostedFileBase file in files)
{
if (file != null && file.ContentLength > 0)
{
int imageCount = 0;
string picName = FlatTable.Flats.flatno.ToString() + "-" + imageCount;
string picExt = Path.GetExtension(file.FileName);
if (picExt == ".jpg" || picExt == ".gif" || picExt == ".jpeg")
{
picExt = ".png";
}
string path = System.IO.Path.Combine(Server.MapPath("~/Images/"), picName + picExt);
file.SaveAs(path);
imageCount++;
using (MemoryStream ms = new MemoryStream())
{
file.InputStream.CopyTo(ms);
byte[] array = ms.GetBuffer();
}
}
else
{
TempData["add_fail"] = "Error! Wrong File Type(s)! Please Try Again.";
return RedirectToAction("FlatManager");
}
}
TempData["add_success"] = "Information Added Successfully!";
return RedirectToAction("FlatManager");
}
else
{
TempData["add_fail"] = "Error! Please Provide Valid Information.";
return RedirectToAction("FlatManager");
}
}
else
{
return RedirectToAction("Login");
}
}
查看
@using (Html.BeginForm("FlatManager", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true)
<label for="file">Upload Image:</label>
<input type="file" multiple="multiple" name="files" id="file" style="width: 100%;" /><br />
<input type="submit" value="Add" />
}
@使用(Html.BeginForm(“FlatManager”,“Home”,FormMethod.Post,new{enctype=“multipart/formdata”}))
{
@Html.ValidationSummary(true)
上载图像:
}
我在代码中找不到任何错误。我怎样才能解决这个问题?如果有人帮忙,会很有帮助的。谢谢。您是否实际调试过只发送一个文件,或者您的循环中存在
imageCount
问题,因此每个图像文件都以数字0保存?谢谢您的建议。我只是把intimagecount=0
行放在循环之外&它起作用了。您的猜测是对的,它是以相同的名称保存的,因此图像被替换。