Замените asp: относительный путь изображения (../../images) абсолютным путем на другом сервере - PullRequest
2 голосов
/ 10 апреля 2011

У меня есть веб-приложение, и все его изображения имеют относительный путь, например '../../images/logo.png',

Мне нужно изменить все изображения в приложении на другой домен, например: 'static.domain.com/images/logo.png'

есть ли быстрый способ изменить все данные? конечно, длинный вариант - итерировать все изображения и менять их вручную,

Ответы [ 4 ]

0 голосов
/ 10 апреля 2011

вы можете написать httmhandler для обработки файлов .png и изменить их адрес там. Другой способ - нажать Ctrl + F и найти и заменить ../../ новым адресом в целых решениях, что занимает минуту.

0 голосов
/ 10 апреля 2011
  • Заменить все вхождения вручную
  • Используйте пользовательский класс изображения, унаследованный от System.Web.UI.WebControls.Image, чтобы сделать возможной настройку поведения относительно пути к изображению
0 голосов
/ 10 апреля 2011

Самый простой, как @ TBohnen.jnr сказал

Почему бы вам не найти и не заменить (Ctrl + H) и заменить "../../images/" на "static.domain.com/images/ 'рискованно, но должно быть самым простым?

0 голосов
/ 10 апреля 2011

В общем, вы должны инкапсулировать относительные пути к ресурсам в блоке кода, например, так (используя пример ASP.NET MVC, так как мои классические навыки ASP.NET устарели):

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

Для сопоставленияих путь отличается от пути по умолчанию, вы можете либо определить пользовательский маршрут, который соответствует всем * .png файлам (и любым другим используемым форматам), либо ввести свои собственные вспомогательные расширения, чтобы вы могли переписать приведенное выше что-то вроде этого:

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