【问题标题】:Image Control Not Rendering Image On Setting ImageURL Dynamically图像控件在动态设置 ImageURL 时不渲染图像
【发布时间】:2012-08-22 11:06:29
【问题描述】:

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

在此先感谢....

【问题讨论】:

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

标签: asp.net .net


【解决方案1】:

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

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

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

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

然后设置ImageUrl:

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

在网页中发送本地文件夹路径根本行不通,因为那是文件在服务器上的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    相关资源
    最近更新 更多