将图像保存到SQL Server 2008?

时间:2009-08-28 16:09:03

标签: sql sql-server

我有这个:

Create Proc CrearNuevoImagen
    @imagen image       
AS

INSERT INTO 
    Imagenes(imagen)

VALUES(
    @imagen
    )

我看到@imagen属于'image'类型。

我的问题是,除了我的前端(我的asp.net网站代码)上有一个.jpg图像,我怎样才能将.jpg图像转换为适合'image'类型的列?或者SQL Server会自动为我做这个吗?

3 个答案:

答案 0 :(得分:4)

将图像对象保存到MemoryStream。然后,您可以将字节数组从内存流中取出并将其传递给SQL Server,以将其保存在“image”或“varbinary”列中。

答案 1 :(得分:2)

图像列类型只是一个二进制容器; SQL Server根本不解释或修改您存储在那里的数据。

请参阅http://www.informit.com/articles/article.aspx?p=377078

答案 2 :(得分:1)

IMAGE类型只是可以存储字节数组的类型的名称。它现已弃用,您应该使用VARBINARY(MAX)类型。如果您关心性能,将JPG文件保存到后端数据库实际上要复杂一些,因为需要避免将这些相对较大的文件复制到内存中。有关存储在SQL Server BLOB字段中的高效流式传输图像文件的示例,请查看Download and Upload images from SQL Server via ASP.Net MVC