我正在尝试为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);
}