Como a Microsoft Web API não é MVC , você não pode fazer algo assim:
var a = Request.MapPath("~");
nem isso
var b = Server.MapPath("~");
porque eles estão no System.Web
espaço para nome, não no System.Web.Http
espaço para nome.
Então, como você descobre o caminho relativo do servidor na Web API ?
Eu costumava fazer algo assim no MVC :
var myFile = Request.MapPath("~/Content/pics/" + filename);
O que me daria o caminho absoluto no disco:
"C:\inetpub\wwwroot\myWebFolder\Content\pics\mypic.jpg"