Asp.net 图像控件在动态设置ImageURL时不呈现图像

Asp.net 图像控件在动态设置ImageURL时不呈现图像,asp.net,.net,Asp.net,.net,我正在创建一个小应用程序,从数据库中读取am图像,将图像存储在一个文件中,然后将图像控件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 FileSt

我正在创建一个小应用程序,从数据库中读取am图像,将图像存储在一个文件中,然后将图像控件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指向正确的位置


提前感谢….

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

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

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

d:\virtualDirs\myApp\dynImages\129901061171254403.jpeg
然后设置
图像URL

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

发送网页中的本地文件夹路径根本不起作用,因为文件位于服务器上的

D:\是一个奇怪的位置。我不希望IIS从那里提供文件。它至少需要位于您的wwwroot文件夹下。路径必须位于您的网站内。我建议您从站点根目录创建一个目录,可能类似于/GeneratedImages/并在该位置生成图像,然后图像控件ImageUrl属性应指向该位置并由Web服务器提供服务。您不能将windows文件路径指定为图像源(D:\whatever)。所有路径都必须相对于您的网站根目录。