0

客户将请求从我的 Web API 应用程序有条件地下载二进制文件。

响应这个请求的方法可能是这样的:

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";

...或者...???

4

1 回答 1

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

或者,您也可以HostingEnvironment.MapPath改用。

于 2014-02-19T18:23:19.107 回答