我将用户照片存储在一个文件夹中,并将它们的 URL 存储在我的 SQL 数据库中。URL 正在被存储,我也可以检索它们,但是当我将此 URL 链接到 asp:Image 控件的 ImageURL 属性时,图像没有被检索。相反,我在我的网站上看到的只是一个空框。请帮忙!
问问题
973 次
2 回答
1
您存储在数据库中的 URL 是本地文件系统 URL,类似于d:\picture_files\first_picture.jpg
. 当您将它发送到浏览器时,浏览器会尝试在用户的机器上而不是您的服务器上查看它 - 因为它是作为本地 URL 到达的。
您需要做的是创建一个返回图像的网页,例如“/show_image?imageid=123”。服务器将看到请求,在数据库中查找图像 ID 123,并将图像发送到浏览器。这样您的用户将能够看到图像。
于 2013-06-23T05:30:27.590 回答
0
您可以使用 streem 将图像转换为字节数组 'byte[]',并将 sql 数据库中字段的数据类型更改为图像并将数组存储在数据库中,当您需要 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);
于 2013-06-23T07:24:26.020 回答