【问题标题】:Replace asp:Image relative path (../../images) with absolute path on another server用另一台服务器上的绝对路径替换 asp:Image 相对路径 (../../images)
【发布时间】:2011-04-10 09:59:54
【问题描述】:

我有一个网络应用程序,它的所有图像都是相对路径, 例如'../../images/logo.png',

我需要将应用程序中的所有图像更改为另一个域, 例如:'static.domain.com/images/logo.png'

有没有快速更改所有数据的方法? 当然,长选项是迭代所有图像并手动更改它们,

【问题讨论】:

  • 你为什么不做一个查找和替换 (ctrl + H) 并用 'static.domain.com/images/' 替换 "../../images/" 有风险但应该是最简单的?

标签: c# asp.net iis-7 web-config


【解决方案1】:
  • 手动替换所有匹配项
  • 使用继承自 System.Web.UI.WebControls.Image 的自定义图像类,可以配置有关图像路径的行为

【讨论】:

    【解决方案2】:

    一般而言,您应该将资源的相对路径封装在代码块中,如下所示(使用 ASP.NET MVC 示例,因为我的经典 ASP.NET 技能正在生锈):

    <%= Url.Content( "~/images/logo.png" ) %>
    

    要将它们映射到与默认路径不同的路径,您可以定义一个匹配所有 *.png 文件(以及任何其他使用的格式)的自定义路由,或者引入您自己的辅助扩展,以便您可以将上面的内容重写为像这样:

    <%= Url.Static( "~/images/logo.png" ) %>
    

    【讨论】:

      【解决方案3】:

      最简单的就像@TBohnen.jnr 说的

      你为什么不做一个查找和替换 (ctrl + H) 并替换“../../images/” 使用“static.domain.com/images/”有风险 但应该是最简单的?

      【讨论】:

        【解决方案4】:

        您可以编写一个 httmhandler 来处理 .png 文件,并在那里更改它们的地址。 另一种方法是按 ctrl+f 并在整个解决方案中查找并替换 ../../ 为您的新地址,这需要一分钟。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-24
          • 2017-08-01
          • 2011-11-07
          • 2011-05-02
          相关资源
          最近更新 更多