2014-02-19 18 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,但这不是我所需要的。 –

相关问题