图像类型和varbinary(max)的数据类型在等于运算符

时间:2018-07-28 06:01:40

标签: c# sql-server linq asp.net-mvc-5

我的asp.net mvc项目之一,我正在尝试将图像保存到SQL Server数据库表:enter image description here

在C#控制器中,我正在上传图片,并将其转换为byte []数组,以便可以将其保存到数据库中。我的代码如下所示。

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "CustIDNO, EDate,LetterNo,LetterFrom,LetterType,Comments, ValueTime")] WarningPic warningPic, HttpPostedFileBase img)
    {
        byte[] fileData = null;

        if (img != null)
        {
            //Here i am converting image to byte array
            using (var binaryReader = new BinaryReader(img.InputStream))
            {
                fileData = binaryReader.ReadBytes(Request.Files[0].ContentLength);
            }

        }

        if (ModelState.IsValid)
        {
            warningPic.FileName = warningPic.CustIDNO.ToString();
            warningPic.Picture = fileData;
            warningPic.SlNo = 9;

            db.WarningPics.Add(warningPic);

            db.SaveChanges();


            return RedirectToAction("Index");
        }

        return View(warningPic);
    }

一切都应该没问题,但是我遇到了一个神秘的错误,例如: enter image description here

The data types image and varbinary(max) are incompatible in the equal to operator.

描述:在执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。

0 个答案:

没有答案