将图像添加到数据库

时间:2016-07-09 22:08:19

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

我试图将两个不同的图像添加到数据库中,但它只添加一个,然后为第二个值添加相同的图像。

这是我将许多照片添加到数据库的控制器

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" />
}

2 个答案:

答案 0 :(得分:0)

Request.Files返回HttpFileCollection类型的对象。https://msdn.microsoft.com/en-us/library/system.web.httpfilecollection(v=vs.110).aspx
为了获取文件中的特定文件,您可以通过索引文件[0],文件[1]或命名文件[firstName],文件[secondName]
使用对象的属性 根据您的代码,您只能使用Files对象中的一个文件。

答案 1 :(得分:0)

public ActionResult Create([Bind(Include =&#34; id,title,bodyofarticle&#34;)]文章文章/ ,HttpPostedFileBase文件 /)         {             if(ModelState.IsValid)             {                  db.articles.Add(物品);                  db.SaveChanges();                 for(int i = 0; i&lt; Request.Files.Count; i ++)                 {                     HttpPostedFileBase文件= Request.Files [i];                     string saveFileName = Path.GetFileName(file.FileName);                     string location = Path.Combine(Server.MapPath(&#34;〜/ Images /&#34; + file.FileName));                     file.SaveAs(位置);                     image imag = new image();                     imag.url = Url.Content(&#34;〜/ images /&#34; + saveFileName);                     imag.articleid = article.id;                     db.image.Add(IMAG);                     article.images.Add(IMAG);

            }


                db.SaveChanges();
            return RedirectToAction("Index");
        }

        return View(article);
    }

//希望其他人得到好处:)

相关问题