2014-02-19 42 views
0

客戶端將從我的Web API應用程序請求條件下載二進制文件。Web API應用程序提供的二進制文件應該存儲在App_Data文件夾中,還是存儲在哪裏?

,響應該請求的方法可能會是這樣的:

public HttpResponseMessage GetHHSetupUpdate(double clientVersion) 
{ 
    double currentVersion = getCurrentVersion("platypiRUs"); 
    if (clientVersion >= currentVersion) 
    { 
     return null; 
    } 
    var path = @"C:\Platypi\PlatypiRUs.exe"; 
    var stream = new FileStream(path, FileMode.Open); 
    HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); 
    result.Content = new StreamContent(stream); 
    result.Content.Headers.ContentType = 
     new MediaTypeHeaderValue("application/octet-stream"); 
    return result; 
} 

什麼也令人擔憂最深目前是文件的位置,雖然。它是否應該存儲在項目的App_Data文件夾或其他地方?

如果是這樣(存儲在App_Data中),代碼中引用的是什麼?它會是這樣的:

var path = @"\App_Data\PlatypiRUs.exe"; 

...或......

回答

2
Server.MapPath(@"~\App_Data\PlatypiRUs.exe") 

或者,您也可以使用HostingEnvironment.MapPath來代替。

+0

HostingEnvironment必須是可取的,因爲Server.MapPath不解決 - 它提供了Microsoft.SQLServer.Server,但這不是我所需要的。 –

相關問題