ASP.NET有关路径的处理

ASP.NET 虚拟路径
/表示网站根目录
../表示上级目录
./表示当前目录
~服务器端用的
如果在服务器端空间中(使用runat=server的控件)会自动将“~”进行转换,如果在html控件或者需要在代码中转换的话可以使用VirtualPathUtility.ToAbsolute("~/a/b1.aspx")就是将虚拟路径转换为相对于应用根的全路径,也就是/WebSite4/a/b1.aspx

VirtualPathUtility类主要方法:
string AppendTraiilingSlash(string virtualPath);如果路径virtualPath最后没有“/”则添加;
string Combine(string basePath,string relativePath),将两个路径进行合并;
string GetDirectory(string virtualPath),返回虚拟路径的目录部分;
string MakeRelative(string fromPath,string toPath)计算两个虚拟路径的相对路径;
ToAbsolute,转换为绝对路径

Request对象
Request.AppRelativeCurrentExecutionFliePath,获得当前执行请求相对于应用目录的虚拟路径,以~开头如"~/Handler.ashx"
Request.PhysicalApplicationPath,获取当前应用的物理物理路径,比如“D:\我的文档\Visual Studio2010\WebSite4\"
Request.PhysicalPath,获取当前请求的物理路径,比如”D:\我的文档\Visual Studio2010\WebSite4\Handler.ashx“
Request.RawUrl

下载文件:
context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\" ", encodeFileName));
能直接将生成的内容以流的形式输出给浏览器,就不要生成临时文件

ashx页面要用session需要调用IRequiresSessionState接口

ASP.NET有关路径的处理

时间: 2024-10-10 19:58:54

ASP.NET有关路径的处理的相关文章

[Asp.net]绝对路径和相对路径

目录 绝对路径 相对路径 总结 绝对路径 绝对路径就是你的主页上的文件或目录在硬盘上真正的路径.比如:E:\新概念英语\新版新概念英语第二册课文PDF.pdf.以Web 站点根目录为参考基础的目录路径.之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的. 1 "/" -- 代表根目录,绝对路径. 2 如:<a href="/abc">文本</a> 或 <img src="/abc" /> 3

[转载]ASP.NET对路径&quot;xxxxx&quot;的访问被拒绝的解决方法小结

异常详细信息: System.UnauthorizedAccessException: 对路径“D:/temp1/MyTest.txt”的访问被拒绝 在windows 2003下,在运行web应用程序的时候出现一下错误: 服务器无法处理请求,-->对路径“C:/temp/mytest.txt”的访问拒绝 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccess

ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结

异常详细信息: System.UnauthorizedAccessException: 对路径"D:/temp1/MyTest.txt"的访问被拒绝 在windows 2003下,在运行web应用程序的时候出现一下错误: 服务器无法处理请求,-->对路径"C:/temp/mytest.txt"的访问拒绝 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.

Asp.net项目路径获取方法【转】

获取项目完整的绝对路径string path = System.AppDomain.CurrentDomain.BaseDirectory.ToString();string path = Server.MapPath(".");//此"."可以换成项目文件里的其它文件夹名称 输出asp.net 网站路径private void responseHtml() {        System.Text.StringBuilder sb = new System.Tex

ASP.NET获取路径的方法

原文:[转载]ASP.NET获取路径的方法 HttpContext.Current.Request.PhysicalPath;    // 获得当前页面的完整物理路径.比如 F:\XFU.NSQS\project\website\Default.aspxHttpContext.Current.Request.PhysicalApplicationPath; // 获得当前程序运行的物理路径比 如F:\XFU.NSQS\project\website\HttpContext.Current.Ser

ASP.NET MVC路径引用总结

1.关于路径: (1)绝对路径 包含站点路径的路径:<a href=”http://www.baidu.com/about.jpg”>百度</a> 站点改变路径失效: (2)相对路径 相同目录:<a href=”about.jpg”></a> 上级目录相同:<a href=”../about.jpg”></a> 跟高的父级目录:<a hrf=”../../about.jpg”></a> (3)根路径 相对路径和

【转】 ASP.NET网站路径中~(波浪线)解释

刚开始学习ASP.NET的朋友可能会不理解路径中的-符代表什么,例如ImageUrl=”~/Images/SampleImage.jpg” 现在我们看看-代表什么意思.-是ASP.NET 的Web 应用程序根目录运算符,当您在服务器控件中指定路径时可以使用该运算符.ASP.NET 会将 ~ 运算符解析为当前应用程序的根目录.可以结合使用 ~ 运算符和文件夹来指定基于当前根目录的路径. 下面的示例演示了使用 Image 服务器控件时用于为图像指定根目录相对路径的 ~ 运算符.在此示例中,无论页面位

ASP.NET对路径&quot;C:/.......&quot;的访问被拒绝 解决方法小结

问题: 异常详细信息: System.UnauthorizedAccessException: 对路径“C:/Supermarket/output.pdf”的访问被拒绝. 解决方法: 一.在IIS中的默认应用程序池-->高级设置...-->标识改成Local System可以解决该问题. 二.在需要进行读写操作的目录下添加Network Service这个帐号. 具体过程:对该文件夹按右键--属性--安全--添加--高级--立即查找--在“搜索结果”下选“NETWORK SERVICE”--确

Asp.NET 之 路径浅析

比如你的工程是Web(url是:http://localhost/web/default.aspx) Request.ApplicationPath 就是/Web 如果是站点就直接返回"/"; ------------------------------------------------------ (1)~/: 根目录,可以用在需要设置路径的控件比如:imagebutton,image等以及链接ascx文件,配置文件. (2)../: 相对当前目录的上层目录,好处是可以不知道文件夹