我试图将两个不同的图像添加到数据库中,但它只添加一个,然后为第二个值添加相同的图像。
这是我向数据库添加很多照片的控制器
public ActionResult Create([Bind(Include = "id,title,bodyofarticle")] article article )
{
if (ModelState.IsValid)
{
db.articles.Add(article);
db.SaveChanges();
foreach (string file in Request.Files)
{
HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
string saveFileName = Path.GetFileName(hpf.FileName);
string location = Path.Combine(Server.MapPath("~/Images/" + hpf.FileName));
Request.Files[file].SaveAs(location);
image imag = new image();
imag.url = Url.Content("~/images/" + saveFileName);
imag.articleid = article.id;
db.image.Add(imag);
article.images.Add(imag);
db.SaveChanges();
}
}
return RedirectToAction("Index");
}
这是视图
@using (Html.BeginForm( "Create", null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" multiple=multiple id="file" name="files" />
}
最佳答案
Request.Files返回HttpFileCollection类型的对象。https://msdn.microsoft.com/en-us/library/system.web.httpfilecollection(v=vs.110).aspx
为了在文件中获取特定文件,您可以通过索引Files [0],Files [1]或命名为Files [firstName],Files [secondName]来使用对象的属性。
根据您的代码,您只能使用Files对象中的一个文件。
关于c# - 将图像添加到数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38286761/