繁体   English   中英

从另一个项目访问文件与ASP.NET MVC相同的解决方案

[英]Access files from another project same solution asp.net mvc

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

  • 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;
    }

如何修改文件路径?

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

我还遇到了类似的问题,需要以相同的解决方案从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;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM