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

来源:互联网 发布:淘宝大学靠谱吗 编辑:程序博客网 时间:2024/05/21 09:29

简单的说,可以通过在 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()

阅读全文
0 0
原创粉丝点击