【问题标题】:How to assign image url programmatically in code behind?如何在后面的代码中以编程方式分配图像 url?
【发布时间】:2012-04-21 13:14:15
【问题描述】:

我正在使用文件上传器上传图像,我将其保存在目录中,并且该图像的路径保存在数据库中。当我尝试在我的网页上检索它时,它确实成功检索了图像,但是当我将该路径分配给 asp.net 中图像控件的 url 时,它给出了一个错误,指出远程服务器位置不存在文件。有什么帮助吗?

<div id="user_pic">

          <img id="ImageMap1" src="~/App_Themes/Theme/UserPics/logo.png" />

        </div>

错误:

“/WebSite2”应用程序中的服务器错误。

找不到资源。

描述:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。

请求的 URL:/WebSite2/App_Themes/Theme/UserPics/logo.png

【问题讨论】:

  • 你能显示代码的相关部分+调试信息吗?
  • 你能验证图像 100% 存在吗?我猜想出了点问题(权利不足或类似的东西)。 “当我尝试在我的网页上检索它时” - 你如何检索它?我猜文件名已插入到您的数据库中,但实际的上传过程失败了,它给了你这个错误,因为图像实际上并没有保存。
  • 它 100% 保存在我上面列出的目录中!

标签: c# asp.net visual-studio-2010 asp.net-4.0


【解决方案1】:

您可以使用System.Web.UI.WebControls.Image 控件从代码隐藏文件中分配 URL。见MSDN documentation

【讨论】:

  • 我有问题,当我分配 Image1.ImageUrl=path;其中 path 是数据库中图像的链接。它显示我上面提到的错误。
【解决方案2】:

仔细检查路径是否正确保存在数据库中,并确保图像在保存的位置可用。

尝试将 runat = "server" 添加到 img 标签中

<img id="ImageMap1" src="~/App_Themes/Theme/UserPics/logo.png" runat="server" />

【讨论】:

    【解决方案3】:

    尝试将路径从“~”更改为“..”

    作为:

    <img id="ImageMap1" src="../App_Themes/Theme/UserPics/logo.png" runat="server" /> 
    

    【讨论】:

      【解决方案4】:

      使用纯 HTML img 标签,您根本不需要前缀。尝试将“~/App_Themes/...”更改为“App_Themes/...”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-24
        • 2010-09-27
        • 2020-05-28
        • 1970-01-01
        • 2010-11-09
        • 2013-03-07
        • 2016-05-30
        • 1970-01-01
        相关资源
        最近更新 更多