.NET MVC将映像存储在localdb上,并每次重写它

.NET MVC将映像存储在localdb上,并每次重写它,.net,asp.net-mvc,database,image,server,.net,Asp.net Mvc,Database,Image,Server,我正在尝试用网络摄像头捕捉一张照片,然后将其保存在localdb上。之后,我想将其分配给一个用户,每次拍摄一张新照片时,都要在服务器上重写原始照片和所有引用 拍摄照片代码: public ActionResult Capture() { var stream = Request.InputStream; string dump; using (var reader = new StreamReader(st

我正在尝试用网络摄像头捕捉一张照片,然后将其保存在localdb上。之后,我想将其分配给一个用户,每次拍摄一张新照片时,都要在服务器上重写原始照片和所有引用

拍摄照片代码:

public ActionResult Capture()
        {
            var stream = Request.InputStream;
            string dump;

            using (var reader = new StreamReader(stream))
            {
                dump = reader.ReadToEnd();

                DateTime nm = DateTime.Now;

                string date = nm.ToString("yyyymmddMMss");

                var path = Server.MapPath("~/WebImages/" + date + "test.jpg");

                System.IO.File.WriteAllBytes(path, String_To_Bytes2(dump));

                ViewData["path"] = date + "test.jpg";

                Session["val"] = date + "test.jpg";
            }

            return View("Index"); 
        }
我面临的问题是,我不确定如何每次重写它,并将数据库中的所有引用都更改为它。
欢迎任何帮助!谢谢大家!

您还可以在二进制类型的用户表中添加列映像,并将二进制格式映像保存到该列

使用下面的代码将图像转换为二进制格式,并将转换后的字节保存在列中

   public byte[] ConvertToBytes(HttpPostedFileBase image)
 {
    byte [] imageBytes = null;
    BinaryReader reader = new        BinaryReader
   (image.InputStream);
    imageBytes = reader.ReadBytes
    ((int )image.ContentLength);
     return imageBytes;
  }
有关完整教程,请参阅链接

有两件事,第一件是将图像保存在文件夹中,就像您正在做的一样;第二件是将图像以二进制形式保存在数据库中。你在这两张图片中看哪一张?我想把图片保存在数据库中并重写它,如果它是同一个名字,希望所有的引用都会改变!“我的代码”将图像保存在文件夹中,因此当您将图像保存到应重命名的文件夹(唯一)时,我只需将其保存在数据库中该图像名称,同时将该特定用户的图像名称保存到数据库中,当您要更改该用户的图像时,请从数据库中获取该用户的保存图像名称,并使用图像名称从保存的文件夹中删除该名称,然后将新图像上载到文件夹中,并将其名称保存到数据库中