Ответ 1
Вам нужен System.Web.HttpRuntime.BinDirectory
(физический путь к папке bin) и System.Web.HttpRuntime.AppDomainAppPath
(физический путь к папке приложения ASP.NET верхнего уровня).
Я попытался использовать Directory.GetCurrentDirectory() и возвращает мне временный каталог ASP.net.
Мне действительно не нравится идея включить настройку приложения для абсолютного пути в мой файл конфигурации (eww!)
Любая помощь будет очень признательна!:)
Вывод:
Я должен был дать некоторый контекст относительно того, почему мне нужен физический путь к файлу. Спасибо, ребята, за ваши быстрые ответы на вопрос:)
Я использую XSL-FO для .net(FO.net) для создания PDF файла. Для встраивания изображений в FO требуется абсолютный путь:
<fo:external-graphic src="C:\MyWebsite\images\image1.jpg" />
Мне нужно было установить текущий каталог на веб-сайт (или каталог bin), который позволит визуализатору XSL FO знать, где найти изображение.
Вам нужен System.Web.HttpRuntime.BinDirectory
(физический путь к папке bin) и System.Web.HttpRuntime.AppDomainAppPath
(физический путь к папке приложения ASP.NET верхнего уровня).
Это зависит от того, что вы хотите сделать с этим путем, но обычный подход Server.MapPath()
. Например:
YourControl.src = Server.MapPath("~/images/image1.jpg");
Это вернет физический путь для указанного файла.