2013-03-18 55 views
0

我有解决方案“解决方案”和两个项目:访问文件

  • solution.WebUI(这里用户上传文件到像“〜/上传”某个文件夹
  • solution.WebApi(这里我必须访问用户文件)

在网页API项目中,我访问文件就像这样:

public HttpResponseMessage GetPdfPage() 
    { 
     HttpResponseMessage responce = new HttpResponseMessage(); 
     responce.Content = new StreamContent(new FileStream(HttpContext.Current.Server.MapPath("~/somefile.pdf"), FileMode.Open, FileAccess.Read)); 
     responce.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); 

     return responce; 
    } 

如何修改文件路径?

+0

我不明白。 – 2013-03-18 16:45:16

回答

0

我也遇到了类似的问题,我需要从下相同的解决方案的BLL项目访问另一个项目(主)的上传文件夹中。 为此我已经使用绝对路径(非硬编码)的上传文件夹。我认为下面的代码也适用于你。

public HttpResponseMessage GetPdfPage() 
    { 
     HttpResponseMessage responce = new HttpResponseMessage(); 
     string basePath = System.AppDomain.CurrentDomain.BaseDirectory; 
     responce.Content = new StreamContent(new FileStream(HttpContext.Current.Server.MapPath(basePath +"somefile.pdf"), FileMode.Open, FileAccess.Read)); 
     responce.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); 

     return responce; 
    }