如何使用c#asp.net mvc将图像保存/上传到mongodb?

时间:2018-03-06 12:13:52

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

我正在尝试为biliard业余联盟的用户创建 asp.net mvc 应用程序(这是我的练习项目),并将玩家数据存储到 MongoDb ,但是我不知道如何为玩家插入图片。现在我可以输入名称姓氏等字段。这是我的代码:

创建功能:

public void Create(Player player)
    {
        playerCollection.InsertOne(player);
    }

创建控制器:

public ActionResult Create(Player player)
    {
        playerModel.Create(player);
        return RedirectToAction("Index");
    }

玩家对象:

public class Player 
{
    [BsonId]
    public ObjectId Id { get; set; }
    [BsonElement("Name")]
    public string Name{ get; set; }
    [BsonElement("Surname")]
    public string Surname{ get; set; }
    //[BsonElement("Picture")]
    //public byte[] Picture{ get; set; } <- I commented on that until I found a solution
}

我想必须使用 HttpPostedFileBase ,但是......我不知道如何实现逻辑。 (如果可能,没有GridFS)。

治好我的头痛! :)

  

修改

这样的事情:

public ActionResult Create(Player player, HttpPostedFileBase choosenPicture)
    {

        if (ModelState.IsValid)
        {
            if (choosenPicture != null)
            {
                player.Picture = new byte[choosenPicture.ContentLength];

                Stream str = choosenPicture.InputStream;
                str.Read(player.Picture, 0, choosenPicture.ContentLength);
            }
            try
            {
                db.Players.Add(player);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            catch (Exception)
            {
                ViewBag.Error = "Error :(";
            }
        }

        return View(player);
    }        

0 个答案:

没有答案