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

本文关键字:url 检索 图像 存储 数据库 | 更新日期: 2023-09-27 18:19:37

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

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

存储在数据库中的URL是一个本地文件系统URL,类似于d:'picture_files'first_picture.jpg。当您将其发送到浏览器时,浏览器会尝试在用户的机器上查看,而不是您的服务器,因为它是作为本地URL到达的。

您需要做的是创建一个返回图像的网页,例如'/show_image?imageid=123`。服务器将看到请求,在数据库中查找图像ID123,并将图像发送到浏览器。这样,您的用户将能够看到这些图像。

您可以将图像转换为字节数组"byte[]"通过使用streem并将sql数据库中字段的数据类型更改为image并将数组存储在数据库中当你需要pic时,从数据库中获取字节数组,并再次转换为图像

///使用系统将图像转换为字节的代码。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);