【转】[.Net] 确定当前网站的物理文件路径
确定当前网站的物理文件路径
在应用程序中,您可能需要确定服务器上的文件或其他资源的路径。例如,如果应用程序以编程方式对文本文件进行读写操作,则必须为用于读取和写入的方法提供该文件的完整物理路径。
将物理文件路径(如 C:\Website\MyApplication)硬编码到应用程序中并不是很好的做法,因为如果移动或部署应用程序,则路径会发生更改。但是,ASP.NET 为您提供了以编程方式获取应用程序中的任何物理文件路径的方法。然后,您可以使用基文件路径创建所需资源的完整路径。用于确定文件路径的两种最常用的 ASP.NET 功能是返回路径信息的 HttpRequest 对象的属性,以及 MapPath 方法。
注意: 不应将物理文件路径发送到客户端,因为它们可能会被恶意用户用来获取有关您的应用程序的信息。
下表列出了 HttpRequest 对象的属性,这些属性帮助您确定应用程序中的资源的路径。
下面的示例假定使用以下 URL 来发出浏览器请求:
http://www.contoso.com/MyApplication/MyPages/Default.aspx 对于这些示例,术语“虚拟路径”是指跟在服务器标识符后面的请求 URL 的一部分,此时虚拟路径如下所示:
/MyApplication/MyPages/Default.aspx 此外,这些示例假定网站根目录的物理路径为以下形式:
C:\inetpub\wwwroot\MyApplication\ 最后,这些示例假定物理路径包含一个名为 MyPages 的文件夹。
| 属性 | 说明 |
|---|---|
|
获取当前应用程序的根目录路径,无论在该应用程序中的什么位置请求该路径。对于此示例,该属性将返回以下内容: / |
|
|
获取当前请求的虚拟路径。不同于 FilePath,差别在于如果请求已在服务器代码中被重定向,则 CurrentExecutionFilePath 就是正确的。对于此示例,该属性将返回以下内容: /MyApplication/MyPages/Default.aspx 如果作为对 Transfer 或 Execute 进行调用的结果,您获取正在运行的代码中的属性,则路径将反映该代码的位置。 |
|
|
FilePath |
获取当前请求的虚拟路径。对于此示例,该属性将返回以下内容: /MyApplication/MyPages/Default.aspx 不同于 CurrentExecutionFilePath,FilePath 不反映服务器端转换。 |
|
获取当前请求的虚拟路径。对于此示例,该属性将返回以下内容: /MyApplication/MyPages/default.aspx |
|
|
获取当前正在执行的应用程序的根目录的物理文件系统路径。对于此示例,该属性将返回以下内容: C:\inetpub\wwwroot\ |
|
|
获取与请求的 URL 对应的物理文件系统路径。对于此示例,该属性将返回以下内容: C:\inetpub\wwwroot\MyApplication\MyPages\defaul |
MapPath 方法返回传递给该方法的虚拟路径的完整物理路径。例如,以下代码返回网站根目录的文件路径:
String rootPath = Server.MapPath("~");
【转】[.Net] 确定当前网站的物理文件路径的更多相关文章
- sql 查看数据库物理文件路径
方式一:用于查询all数据库,适用于SQL2005及以上版本. USE [Master] GO /****** 对象 : Table [dbo].[Master] 脚本日期 : 06/29/2 ...
- Visual Studio(VS2012) Project&(Solution) 虚拟文件夹 & 物理文件夹
今天发生个怪事:在 Solution Explorer 中,x project 内建立文件夹(folder)时,同时在磁盘目录下也创建了同名的文件夹. 1, 原本:应该只是创建一个“虚拟文件夹”用来“ ...
- winform获取文件路径
1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径 方法2.AppDomain.CurrentD ...
- C# 获取文件路径,读取项目中某程序集下文件
获取文件路径 ------------------------------------------------------------------------- winform获取文件路径: stri ...
- asp.net 5 中应用程序根目录及物理文件根目录的获取方式 此文已过期,不再适应rc1以后的版本
之前看了asp.net5,小弟就试着用了用,做了个小网站练习一下,有一个小模块需要上传图片到wwwroot下的images文件夹,但是aspnet5 发生了翻天复地变化,之前获取网站根目录的的方法不再 ...
- SQL Server附加数据库报错:无法打开物理文件,操作系统错误5
问题描述: 附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf ...
- 网站 robots.txt 文件编写
网站 robots.txt 文件编写 Intro robots.txt 是网站根目录下的一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的 ...
- 无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法
无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问.)” (Microsoft SQL Server,错误: 5120)的解决方法 问题描述: 在附加数据库到sql server时,附 ...
- 尝试打开或创建物理文件 REATE FILE 遇到操作系统错误 5(拒绝访问)
尝试打开或创建物理文件 'E:\Library.mdf' 时,CREATE FILE 遇到操作系统错误 5(拒绝访问.). 最佳回答: 这是因为SQL Server的启动帐户(一般是system或某个 ...
随机推荐
- 部署jar项目常用命令
netstat -tunlp | grep ×× 查询出端口为××在运行应用的线程ip kill -9 ×× 关闭线程ip 为 ××的应用 rm -f ××.jar ...
- 关于InfiniBand几个基本知识点解释
文章出处: https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/83629279 公众号 https://blog.csdn.net/ ...
- c++之洛谷P1068分数线划定
这是个排序题,做题过程中对sort的理解加深了不少,记下来避免忘记. 题目来源:https://www.luogu.org/problemnew/show/P1068 题目描述 世博会志愿者的选拔工作 ...
- 在CentOS上搭建PHP服务器环境(可用)
原文:https://www.cnblogs.com/zy2009/p/7047828.html 1,先安装apache: yum install httpd 配置ServerName vi /etc ...
- RYU 灭龙战 third day
RYU 灭龙战 third day 前言 传统的交换机有自学习能力.然而你知道在SDN的世界里,脑子空空的OpenFlow交换机是如何学习的吗?今日说法带你领略SDN的mac学习能力. RYUBook ...
- 老李的blog使用日记(2)
寥寥数语结束一个不曾期待的遇见,可还是剧情不会这样结束,他也会在我的时间里注册自己的专属账号,无论什么时候,他会时而需要被注视着,为了达到目的,即使不择手段,只为一次擦肩而过的邂逅,极短的一段时间,相 ...
- ElasticSearch 2 (21) - 语言处理系列之单词识别
ElasticSearch 2 (21) - 语言处理系列之单词识别 摘要 一个英语单词相对容易识别:因为英语单词是被空格或(某些)标点符号隔开的.但在英语中也有反例:you're 这个词是一个单词还 ...
- PAT 甲级 1021 Deepest Root
https://pintia.cn/problem-sets/994805342720868352/problems/994805482919673856 A graph which is conne ...
- MyBatis关联查询,一对一关联查询
数据库E-R关系 实体类 public class City { Long id; String name; Long countryId; Date lastUpdate; } public cla ...
- Java之utf8中文编码转换
import org.apache.commons.codec.binary.Hex; import org.junit.Test; /** * HBASE中文转换 */ public class C ...