1. ホーム
  2. asp.net-web-api

[解決済み】Microsoft Web API: Server.MapPathはどうやるんですか?

2022-04-03 18:32:52

質問

このため Microsoft Web API MVC というようなことはできません。

var a = Request.MapPath("~");

また、この

var b = Server.MapPath("~");

の下にあるためです。 System.Web 名前空間ではなく System.Web.Http という名前空間があります。

では、どのようにすれば Web API ?

以前はこのようなことを MVC :

var myFile = Request.MapPath("~/Content/pics/" + filename);

ディスク上の絶対パスが得られます。

"C:\inetpub\wwwroot\myWebFolder\Content\pics\mypic.jpg"

解決方法は?

を使用することができます。 ホスティング環境.マップパス というコンテキストで System.Web オブジェクトのような HttpContext.Current は利用できません (例: 静的メソッドからも)。

var mappedPath = System.Web.Hosting.HostingEnvironment.MapPath("~/SomePath");

参照 Server.MapPathとHostingEnvironment.MapPathの違いは何ですか?