在Asp.net(c#)中,如何在数据库中存储图像(linq to sql)?

我需要从客户端获取图像并在将其保存到数据库之前显示(预览)..然后在获得预览后应保存在数据库中。? 是否可以在Asp.net中使用c#…?

是的,这是可能的。

如果您使用的是MS SQL Server,请将表中的字段声明为“image”或“varbinary”。 Varbinary根据您的SQL Server版本限制存储的字节数,因此“image”是可行的方法。 毕竟,你正在存储图像;)

然后将图像存储为该字段中的字节数组。

没有看到一些代码,很难给出代码示例。 您是直接使用SqlCommand,Linq2Sql,Entity框架还是NHibernate与您的数据库进行通信?

[编辑:Linq2Sql示例]

在你的linq对象上你将有一个名为Image的属性,如果这就是你命名为image / varbinary列的那个。 分配它执行此操作:

// assign data byte[] imageByteArray = ...some byte data...; myObject.Image = new Binary(imageByteArray); // save to db dataContext.YourTable.InsertOnSubmit(myObject); //YourTable is the name of your actual table class dataContext.SubmitChanges(); 

其中imageByteArray是一个包含图像的byte []。

Binary对象是byte []的包装器。