我将用户照片存储在我的SQL数据库中的文件夹及其URL中。 URL正在存储,我也能够检索它们但是当我将此URL链接到asp:Image控件的ImageURL属性时,不会检索到图像。相反,我在网站上看到一个空盒子。请帮忙!
答案 0 :(得分:1)
您存储在数据库中的URL是本地文件系统URL,类似于d:\picture_files\first_picture.jpg
。当您将其发送到浏览器时,浏览器会尝试在用户的计算机上查看 ,而不是您的服务器 - 因为它以本地URL的形式到达。
您需要做的是创建一个返回图像的网页,例如'/ show_image?imageid = 123`。服务器将看到请求,查看数据库中的图像ID 123,并将图像发送到浏览器。这样,您的用户就能看到图片。
答案 1 :(得分:0)
你可以将图像转换为字节数组'byte []' 通过使用streem 并将sql数据库中字段的数据类型更改为image 并将数组存储在数据库中 当你需要pic时,从数据库中获取字节数组并再次转换为图像
///使用system.IO'
将代码转换为字节的代码 byte[] myFile;
using (Stream inStream = File.Open("path of image", FileMode.Open))
{
myFile = new byte[inStream.Length];
for (int i = 0; i < inStream.Length; i++)
{
myFile[i]=((byte)inStream.ReadByte());
}
}
///将字节转换为图像的代码
Stream stream = new MemoryStream(myFile);
Image myImage = Image.FromStream(stream);