我正在尝试获取C#类中某些文件的绝对路径。当然,Server.MapPath
对ASPX和它们的代码隐藏页面工作得很好,但这在其他类文件中是不存在的。我尝试过HostingEnvironment.MapPath()
,但它抱怨相对虚拟路径是不允许的。有什么想法吗?
System.Web
已导入。
发布于 2009-07-27 19:41:15
ServerUtility
类可以作为HttpContext
中的一个实例使用。如果您所在的环境中知道它将在ASP.Net管道内执行,则可以使用
HttpContext.Current.Server.MapPath()
不过,您必须导入System.Web
。
发布于 2014-03-02 22:47:56
您还可以使用:
var path = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/myfile.txt")
如果
var path = Server.MapPath("~/App_Data");
var fullpath = Path.Combine(path , "myfile.txt");
是无法访问的
发布于 2009-07-27 19:45:56
System.Reflection.Assembly.GetAssembly(type).Location
如果您尝试获取的文件是某个类型的程序集位置。但是,如果这些文件是相对于程序集位置的,那么您可以将此名称空间与System.IO
命名空间一起使用,以获取文件的确切路径。
https://stackoverflow.com/questions/1190196
复制相似问题