13

您好我正在开发一个 ASP.net Web 应用程序。我需要找到网站的当前位置(物理位置)(或包含程序集的 bin 目录)。

我尝试使用 Directory.GetCurrentDirectory() 并返回 ASP .net 临时目录。

我真的不喜欢在我的配置文件中包含绝对路径的应用程序设置(eww!)

任何帮助将非常感激!:)

结论:

我应该给出一些关于为什么我想要物理文件路径的上下文。感谢大家对问题的及时回复:)

我正在使用 XSL-FO for .net(FO.net库)生成 PDF。在 FO 中嵌入图像需要给出绝对路径:

<fo:external-graphic src="C:\MyWebsite\images\image1.jpg" />

我需要做的是将当前目录设置为网站(或 bin 目录),这将允许 XSL FO 渲染器知道在哪里可以找到图像。

4

2 回答 2

33

您需要System.Web.HttpRuntime.BinDirectorybin文件夹的物理路径)和System.Web.HttpRuntime.AppDomainAppPath(顶级 ASP.NET 应用程序文件夹的物理路径)。

于 2009-11-16T06:32:18.813 回答
5

这完全取决于您想对路径做什么,但通常的方法是Server.MapPath(). 例如:

YourControl.src = Server.MapPath("~/images/image1.jpg");

这将返回指定文件的物理路径。

于 2009-11-16T09:42:17.137 回答