0

我将用户照片存储在一个文件夹中,并将它们的 URL 存储在我的 SQL 数据库中。URL 正在被存储,我也可以检索它们,但是当我将此 URL 链接到 asp:Image 控件的 ImageURL 属性时,图像没有被检索。相反,我在我的网站上看到的只是一个空框。请帮忙!

4

2 回答 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 回答