由于Microsoft Web API不是MVC,因此您无法执行以下操作:
var a = Request.MapPath("~");
Run Code Online (Sandbox Code Playgroud)
也不是这个
var b = Server.MapPath("~");
Run Code Online (Sandbox Code Playgroud)
因为它们在System.Web命名空间下,而不是System.Web.Http命名空间.
那么如何计算Web API中的相对服务器路径?
我曾经在MVC中做过类似的事情:
var myFile = Request.MapPath("~/Content/pics/" + filename);
Run Code Online (Sandbox Code Playgroud)
哪个会给我磁盘上的绝对路径:
"C:\inetpub\wwwroot\myWebFolder\Content\pics\mypic.jpg"
Run Code Online (Sandbox Code Playgroud)
Stu*_*tLC 453
您可以在任何无法使用对象的上下文中使用HostingEnvironment.MapPath(例如,也可以使用静态方法).System.WebHttpContext.Current
var mappedPath = System.Web.Hosting.HostingEnvironment.MapPath("~/SomePath");
Run Code Online (Sandbox Code Playgroud)
另请参阅Server.MapPath和HostingEnvironment.MapPath之间的区别?
Arg*_*dan 12
string root = HttpContext.Current.Server.MapPath("~/App_Data");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
118105 次 |
| 最近记录: |