В стандартном шаблоне ASP.NET есть каталог "Content
", куда большинство людей помещают изображения, файлы CSS и т. Д.
Например, логотип stackoverflow:
(источник: stackoverflow.com )
на самом деле ссылается на путь к серверу, содержащий 'content' в URL (просто сделайте View Source для любой страницы SO, и вы увидите это). Поэтому они, очевидно, хранят изображения в «content/images/...
».
src="/Content/Img/stackoverflow-logo-250.png"
Редактировать: Когда-то за последние 10 лет они изменили путь - но это то, что было раньше.
Мне не особенно нравится это. Мой HTML заканчивается /content
по всему этому, и его немного сложнее перенести существующие страницы, которые имеют / image. К счастью, моя таблица стилей не заканчивается content
, пока я сохраняю ее в content\site.css
.
Альтернативой является размещение каталога images
в корне, но тогда вы получите images
на том же уровне, что и Controllers
и Views
, что довольно ужасно.
Я задавался вопросом о попытке добавить правило перенаправления следующим образом:
routes.RedirectRoute(
"images rule",
"Images/{*}",
"Content/Images/{1}"); // this is NOT valid code - I made it up
Но этот код не работает, потому что я его только что придумал. Я мог бы использовать сторонний плагин перенаправления / перезаписи, но я хочу сохранить все «чистым» в модели MVC.
Что еще кто-нибудь нашел в этой области? Или все просто довольны дополнительными ("/content".length)
байтами в своем источнике для каждого изображения, которое они обслуживают.