使用存储在数据库中的url检索图像

时间:2013-06-23 05:27:37

标签: c#

我将用户照片存储在我的SQL数据库中的文件夹及其URL中。 URL正在存储,我也能够检索它们但是当我将此URL链接到asp:Image控件的ImageURL属性时,不会检索到图像。相反,我在网站上看到一个空盒子。请帮忙!

2 个答案:

答案 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);