将图像文件保存到Sql数据库时出错

时间:2014-07-08 19:40:45

标签: sql-server image linq entity-framework varbinarymax

我使用Entity Framework和LINQ。

简单地说,我想从fileupload控件中获取图像文件,并将其保存在SQL Server数据库中。但是我收到了一个错误..

表:Images

imageId int
imageData varbinary(max)

存储过程:

ALTER proc [dbo].[UploadImage]
(
    @img varbinary(max)
)
as
    insert into Images(imageData)
    values(@img)

C#代码(选择文件并单击按钮后):

while (FileUpload1.HasFile)
{
    System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
    byte[] imgByteArray = new byte[FileUpload1.PostedFile.InputStream.Length];
    FileUpload1.PostedFile.InputStream.Read(imgByteArray, 0, (int)FileUpload1.PostedFile.InputStream.Length);

    using (DummyDBEntities context=new DummyDBEntities())
    {
        context.UploadImage2(imgByteArray);
    }
}
你可以帮我解决问题吗?

谢谢

0 个答案:

没有答案