vickyc049 Ответов: 2

Изображения в субприложении IIS не получают правильного пути


Hi,

I deployed web application in my local iis under Default website.
The url is http://www.test.com/SubApplication/Controller/ActionResult
When i am giving some image path in html "/images/abc.jpg".I create the url "http://www.test.com/images/abc.jpg" but it should create "http://www.test.com/SubApplication/images/abc.jpg".Is there any setting in IIS for this.I googled but nothing found.


Что я уже пробовал:

Я попытался изменить некоторые настройки в iis, а также попытался изменить путь к изображению "~/Images/abc.jpg" а также пытался изменить маршрут, но ничего не работает

2 Ответов

Рейтинг:
2

F-ES Sitecore

Использовать @URL-Адрес.Содержание

<img src="@Url.Content("~/images/abc.jpg")"/>


vickyc049

для cshtml это нормально,но я хочу дать путь в файле javascript

F-ES Sitecore

Я бы попробовал использовать относительные пути, но если вы не можете использовать относительные пути, вам нужно будет определить путь к изображению в переменной js в представлении;

& lt;скрипт>
var myImgPath = ' @Url. Content ( ... )';
< / script>

затем в вашем js файле вы используете эту переменную;

$("#myimg"). attr ("src", myImgPath);

Рейтинг:
1

Ankur\m/

Решение, предложенное F-ES Sitecore, будет работать на вас. Я просто добавляю еще немного информации для вашего понимания.
/images/abc.jpg
Косая черта (/) в начале указывается путь от корня сайта. Так как ваш сайт www.test.com, / images вернет этот путь - www.test.com/images.
Нет никаких проблем, если мы размещаем наше приложение на веб-сайте (обычно это делается в производственной среде). Но в локальной системе мы обычно указываем наш веб-сайт на приложение под веб-сайтом по умолчанию, так как тогда нам не нужно создавать никаких записей хоста домена. В таких случаях относительные пути создают проблемы. Тильда ( ~ ) приходит нам на помощь. В ASP.NET использование Page. ResolveUrl для пути, начинающегося с~, даст нам путь, специфичный для нашего приложения. В MVC мы можем сделать то же самое с помощью Url.Content Надеюсь, это даст вам некоторые разъяснения.


vickyc049

Привет, Thnaks для решения ur. но есть еще одно изображение, которое приходит из css-файла. используя свойство background-image. ~ не работает ни для одного файла css или javascript.я уже пробовал.на самом деле ~ работать с серверной стороной

Ankur\m/

Вы правы, ~ не может быть использован в CSS-файлах. Вы можете указать относительный путь в ваших CSS-файлах. Например, скажем, ваши CSS-файлы находятся внутри папки CSS, расположенной в том же месте, что и папка images, Вы можете указать путь как ../images/abc.jpg в вашем css-файле для ссылки на изображения внутри папки images.