动态设置ImageURL时图像控制不渲染图像

时间:2012-08-22 11:06:29

标签: asp.net .net

我正在创建一个小应用程序,我正在从数据库中读取图像,将图像存储在文件中,然后将图像控制 ImageURL 属性设置为创建的文件

代码很简单

Dim m_Bytes As Byte() = DirectCast(command.ExecuteScalar, Byte())

    Dim strfn As String = "D:\" + Convert.ToString(DateTime.Now.ToFileTime()) + ".jpeg"

    Dim fs As New FileStream(strfn, FileMode.CreateNew, FileAccess.Write)

    fs.Write(m_Bytes, 0, m_Bytes.Length)
    fs.Flush()
    fs.Close()

    Image1.ImageUrl = strfn

图像在该位置正确创建,但图像控件无法渲染图像。我检查了页面的来源,图像控件指向

 <img id="Image1" src="D:\129901061171254403.jpeg" />

src指向正确的位置......

提前致谢....

1 个答案:

答案 0 :(得分:1)

您必须将图像存储在IIS下可访问的位置。

例如,您可以在应用程序下有一个存储图像的文件夹。假设您的应用程序已部署在d:\virtualDirs\myApp文件夹中,您可以在网址http://someserver.com/superapp/上进行浏览。

然后,您可以将图像存储在(例如)文件夹d:\virtualDirs\myApp\dynImages

d:\virtualDirs\myApp\dynImages\129901061171254403.jpeg

然后设置ImageUrl

Image1.ImageUrl = "~/dynImages/129901061171254403.jpeg";

在网页中发送本地文件夹路径根本无法正常工作,因为该文件位于服务器上。