ASP.NET 访问项目网站以外的目录文件

2018-06-22 07:48:58来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

简单的说,可以通过在 IIS 添加虚拟目录的方法做到,获取访问路径的时候就用 HttpContext.Current.Server.MapPath("~/xxx"); 的方式。


下面详细讲一下具体怎么做……

首先看 IIS 上部署的项目网站结构:

有两个项目网站,NewsAPIFileAPI,现在想在 FileAPI 下访问 NewsAPI 下的 html 目录。
于是我在 FileAPI 下建了一个名叫 html的虚拟目录,指向 NewsAPI 下的 html文件夹。

注意:
配置好 IIS 后,还要设置 VS 为本地调试模式,才可以运行代码。

接下来是代码:

/// <summary>
/// 测试是否能访问其他项目目录下的文件
/// </summary>
/// <returns></returns>
public string Get()
{
    string str = "";

    try
    {
        string path = System.Web.HttpContext.Current.Server.MapPath("~/html/1.txt");
        StreamReader sr = new StreamReader(path, System.Text.Encoding.GetEncoding("UTF-8"));
        str = sr.ReadToEnd(); // 读取文件
        sr.Dispose();
    }
    catch (System.Exception ex)
    {
        str = "报错了!" + ex.ToString();
    }

    return str;
}

只是测试我没有写很复杂,就是使用 HttpContext.Current.Server.MapPath("~/xxx"); 根据虚拟目录来获取实际的物理路径,然后读取目录下的文件返回,path 得到的值就是物理路径,所以可以直接访问。

可以打个断点看 path 的值

OK!~


最后,关于 Server.MapPath 的用法大家可以看看这篇文章:server.mappath()

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:.NET ORM框架 SqlSugar4.0 功能快速预览【开源】

下一篇:iis / asp.net 使用 .config 和 .xml 文件的区别