Как мы знаем, что виртуальный диспетчер может быть связан с папкой с различным именем, как я могу получить физический путь к виртуальному каталогу?Как получить физический путь виртуального каталога
Я пытался с HttpContext.Current.server.MapPath, но он возвращает мне физический путь плюс путь, который я отправляю в параметр, даже если каталог вообще не существует или существует с другим именем.
Exemple:
C: \ блабла \ Сайты \ Application1 \ Imaageesss - На диске
Application1 \ Images (В ИСС, мой виртуальный каталог)
Но если я делаю MapPath на «/ Images» он никогда не даст мне C: \ blabla \ Sites \ Application1 \ Imaageesss, но C: \ inetpub \ wwwroot \ Изображения, к которым не привязан настоящий каталог.
Все ответы ниже не решают проблему. Я предполагаю, что MapPath недостаточно умен, чтобы проверить, является ли это виртуальной директорией IIS или нет. Он просто добавляет корневой путь приложения к пути, который вы предоставляете. К сожалению, я не смог найти решение для этого даже после интенсивного поиска в Интернете. – needfulthing
Найденный способ, см. Ответ ниже. – needfulthing
У меня была аналогичная проблема при двух разных обстоятельствах. Я должен был вызвать 'Server.MapPath («/Application1/Images/image.jpg »)' вместо 'Server.MapPath («/Images/image.jpg »)' в одной ситуации, а другой он только что получился. неправильно ссылалось мое имя виртуального каталога в моем приложении. У меня был тот же результат, что и у ОП, пока я не сделал все это. Просто подумал, что добавлю ... – ionalchemist