访问文件从另一个项目相同的解决方案asp.net mvc

本文关键字:解决方案 asp net mvc 文件 另一个 项目 访问 | 更新日期: 2023-09-27 18:04:43

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

  • 解决方案。web (此处用户上传文件到某个文件夹,如"~/uploads"
  • )
  • 解决方案。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;
    }

如何修改文件的路径?

访问文件从另一个项目相同的解决方案asp.net mvc

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

我也遇到了类似的问题,我需要在相同的解决方案下从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;
    }
相关文章: