Вы можете получить путь к каталогу, который находится на том же уровне корня вашего сайта, используя Server.MapPath, как показано ниже:
@{
var root = Server.MapPath(".");
var temp = root.Split('\\');
temp[temp.Length - 1] = "Data";
var newpath = string.Join("\\", temp);
}
Хостинговые компании, используемые для предоставления каталогов «данных» за пределамикорневая папка как безопасное место для таких вещей, как базы данных Access mdb.Вы не можете напрямую перейти к каталогу, который находится за пределами корня вашего сайта.ASP.NET покончил с необходимостью этих вещей, введя App_Data
.Единственная причина, по которой вы хотите использовать этот тип папок в настоящее время, заключается в том, что вы хотите применить какую-либо аутентификацию перед обслуживанием содержимого каталога.Затем вам нужно использовать обработчик, иначе подойдет простой файл cshtml.Вы можете объединить помощник WebSecurity
с помощником WebImage
, чтобы сначала подтвердить подлинность пользователя, а затем получить и отобразить изображение, если они пройдут тест.src
в вашем теге img
будет указывать на файл cshtml со строкой запроса или значением UrlData
, чтобы вы знали, какое изображение отображать.
Если вам не нужно проверять пользователей доотображение изображений, хранение файлов изображений вне корня добавляет ненужный уровень сложности.