您好我正在开发一个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渲染器知道在哪里找到图像。
答案 0 :(得分:33)
您需要System.Web.HttpRuntime.BinDirectory
( bin 文件夹的物理路径)和System.Web.HttpRuntime.AppDomainAppPath
(顶级ASP.NET应用程序文件夹的物理路径)。
答案 1 :(得分:5)
这取决于您想要对路径做什么,但通常的方法是Server.MapPath()
。例如:
YourControl.src = Server.MapPath("~/images/image1.jpg");
这将返回指定文件的物理路径。