1

我有解决方案“解决方案”和两个项目:

  • solution.WebUI(这里用户将文件上传到某个文件夹,如“~/uploads”
  • solution.WebApi(这里我必须访问用户文件)

在 web 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;
    }

我必须如何修改文件路径?

4

2 回答 2

1

我认为共享文件夹是一个更好的解决方案 http://support.microsoft.com/kb/324267

于 2013-03-18T16:45:30.863 回答
0

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

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;
    }
于 2016-12-28T05:29:46.933 回答