ASP .Net MVC - изображения не отображаются в опубликованной сборке - PullRequest
6 голосов
/ 30 мая 2009

Я занимаюсь разработкой приложения ASP .Net MVC, и на моем компьютере разработчика приложение работает должным образом, и, что более важно, изображения, упомянутые в файле CSS, отображаются правильно.

Однако, когда я публикую это приложение на тестовом сервере, веб-приложение работает нормально, но изображения не отображаются.

Если я изменю URL-адрес в IE при тестировании вывода с тестового сервера, изображение будет возвращено, то есть файл будет, но он просто не будет отображаться на странице просмотра при обычном использовании сайта.

Я тоже пробовал альтернативные серверы, но результат тот же.

Чтобы подтвердить, вот строка со страницы CSS, ссылающаяся на изображение ...

background-image: url('/Content/Images/Logo/myLogo.jpg');

Есть предложения?

Приветствия

Brett

Ответы [ 3 ]

19 голосов
/ 30 мая 2009

URL-адреса неверны, вероятно, из-за того, что вы публикуете в подпапке, и поэтому они больше не находятся в корне сервера. Я обычно использую Url.Content( "~/Content/Images/..." ) для создания URL-адреса вместо жесткого его кодирования. Таким образом, при построении пути будут учитываться маршруты.

Пример:

 <img src='<%= Url.Content( "~/Content/Images/banner.jpg" ) %>' alt="Banner" />
3 голосов
/ 02 сентября 2012

У меня была такая же проблема, но я нашел причину, по которой она принудительно аутентифицировалась в папке «Содержание».

Когда пользователь еще не вошел в систему, он классифицируется как анонимная аутентификация. В IIS7 (это то, что я использую, предположив, что это то же самое в IIS6) вам нужно открыть окно аутентификации в представлении функций. Затем отредактируйте анонимную аутентификацию, чтобы использовать вашу идентификацию пула приложений или идентификацию по умолчанию, просто убедитесь, что у пользователя есть разрешения на чтение в этой папке.

Это исправило это для меня, надеюсь, это работает для вас.

1 голос
/ 30 мая 2009

Возможные относительные пути неверны ... Возможно, они неверны для самого файла CSS. Вы можете использовать FireBug, чтобы увидеть, правильно ли загружен CSS, тогда вы можете проверить запрос изображения, часто в таких ситуациях вы увидите красные (ошибочные) элементы. Это может помочь локализовать проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...