在文件夹中添加图像及其在数据库中的名称

时间:2019-06-16 17:23:45

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

我只是这种编程语言的初学者,我无法解决需要在文件夹中添加图像并将其名称保存在数据库中的问题。我浏览了每个网站,但他们只是以不同的方式来做。顺便说一下,我的数据库已经连接好了。如果有人可以帮助我,那将会很好。因为已经四天了,我一直在努力寻找。

namespace OrnekProje.Controllers

{
    public class HaberEkleController : Controller

    {

        HaberlerEntities ent = new HaberlerEntities();

        public ActionResult Index(int id)

        {

            Tbl_Haber kategori = ent.Tbl_Haber.Where(x => x.Id == id).FirstOrDefault();

            ViewBag.KategoriListesi = new SelectList(ent.Tbl_Kategori.ToList(), "Id", "KaategoriAdı", "0");

            return View("HaberEkle", kategori);
        }

        public ActionResult HaberEkle()

        {

            ViewBag.KategoriListesi = new SelectList(ent.Tbl_Kategori.ToList(), "Id", "KaategoriAdı", "0");

            return View(new Tbl_Haber());

        }

        [HttpPost]
        public ActionResult HaberEkle(Tbl_Haber haberobjesi, HttpPostedFileBase uploadfile, object sender, EventArgs e)

        {
            string ImageName = Path.GetFileName(haberobjesi);
            var url = Path.Combine(Server.MapPath("//images//"));
            ent.Tbl_Haber.Add(haberobjesi);

            ent.SaveChanges();

            ViewBag.Sonuc = " Haber kaydedildi";

            return RedirectToAction("Index", new { id = haberobjesi.Id });

        }



    }

}

1 个答案:

答案 0 :(得分:0)

在您看来,确保表单的enctype设置为multipart/form-data。另外,您应该将输入的name属性设置为uploadfile

赞:

<input type="file" name="uploadfile" />

您的代码也需要一些清理。

public ActionResult HaberEkle(Tbl_Haber haberobjesi, HttpPostedFileBase uploadfile) 
    { 
    string ImageName = Path.GetFileName(uploadfile.FileName); 
    var url = Path.Combine(Server.MapPath("~/images"),ImageName); 
//Save
    uploadfile.SaveAs(url);
    ent.Tbl_Haber.Add(haberobjesi);
    ent.SaveChanges(); 
    ViewBag.Sonuc = " Haber kaydedildi";
     return RedirectToAction("Index", new { id = haberobjesi.Id }); 
    }