gpt4 book ai didi

asp.net - 什么样的数据类型用于在数据库中保存图像

转载 作者:行者123 更新时间:2023-12-04 05:54:42 24 4
gpt4 key购买 nike

我需要使用 SQL 插入我在本地拥有的图像。

我是这样做的:

CREATE TABLE [dbo].[Table_1](
[SelectedImages] [image] NOT NULL,
[Path] [ntext] NOT NULL
)

to add an image, do this:

INSERT INTO [testing].[dbo].[Table_1]
([SelectedImages]
,[Path])
VALUES
('D:\desktop\05022006\free_chart1.gif' ,'D:\desktop\05022006\free_chart1.gif' )

问题是我需要事后检索图像...

我使用 Telerik 控件显示作为二进制数据存储在数据库中的图像
而且我不确定“图像”类型是否正确,因为它不起作用......
                  <telerik:RadBinaryImage runat="server" ID="RadBinaryImage1" DataValue='<%#Eval("Photo") %>'
AutoAdjustImageControlSize="false" Width="90px" Height="110px" ToolTip='<%#Eval("ContactName", "Photo of {0}") %>'
AlternateText='<%#Eval("ContactName", "Photo of {0}") %>' />

你们使用什么样的数据类型来存储图像?
提前致谢

最佳答案

您可以使用在问题中定义的图像类型将图像存储在数据库中。但是,您需要先将图像转换为字节数组。

string path = "D:\\desktop\\05022006\\free_chart1.gif"
using (System.IO.FileStream fstream = new System.IO.FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
// Create a buffer to hold the stream of bytes
byte[] buffer = new byte[fstream.Length];
// Read the bytes from this stream and put it into the image buffer
fstream.Read(buffer, 0, (int)fstream.Length);
fstream.Close();
//now you can insert buffer into the database
}

当您想从数据库中检索图像时,您必须将其从 byte[] 转换回来。
if (byteArray != null)
{
if (byteArray.Length > 0)
{
// Create a new MemoryStream and write all the information from the byte array into the stream
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArray, true))
{
ms.Write(byteArray, 0, byteArray.Length);

// Use the MemoryStream to create the new BitMap object
Bitmap photo = new Bitmap(ms);

ms.Close();

//now you can use photo
}
}
}

关于asp.net - 什么样的数据类型用于在数据库中保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9649448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com