做了一个上传文件的功能 本地测试没问题 部署到服务器之后 一直报错 由于 某些历史原因 看不到错误信息

最后发现是路径的问题

其实这么简单的问题 最早该想到的 。。。。。。

Server.MapPath(string path)作用是返回与Web服务器上的指定虚拟路径相对应的物理文件路径。其参数path为Web 服务器的虚拟路径,返回结果是与path相对应的物理文件路径。但有时参数并非为虚拟路径,而是用户自定义的文件名。

Server.MapPath()的全名是System.Web.HttpContext.Current.Server.MapPath()。有时在程序调试时会提示“当前上下文中不存在名称“Server””错误,从而不支持函数Server.MapPath()的使用。尽管引用了命名空间“using System.Web;”也是无济于事,此时就需要使用其全名,或者是当前使用Server.MapPath()函数的类继承自System.Web.UI.Page。

Server.MapPath("") :返回当前页面所在的物理文件路径

Server.MapPath("/") :返回应用程序根目录所在的物理文件路径

Server.MapPath("./") :返回当前页面所在的物理文件路径

Server.MapPath("../"):返回当前页面所在的上一级的物理文件路径

Server.MapPath("~/"):返回应用程序的虚拟目录(路径)

Server.MapPath("~"):返回应用程序的虚拟目录(路径)

说明:对于Server.MapPath()具体返回什么内容,在不同的环境下得到的结果也许并不相同。

用法:
1.Server.MapPath("/")  应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\

2.Server.MapPath("./")  表示所在页面的当前目录 ( 注:等价于Server.MapPath("")  返回 Server.MapPath("")所在页面的物理文件路径)

3.Server.MapPath("../")表示上一级目录

4.Server.MapPath("~/")表示当前应用级程序的目录

如果是根目录,就是根目录;

如果是虚拟目录,就是虚拟目录所在的位置 如:C:\Inetpub\wwwroot\Example\

注:等效于Server.MapPath("~")。

当前的网站目录为E:\wwwroot

应用程序虚拟目录为E:\wwwroot\company

浏览的页面路径为E:\wwwroot\company\news\show.asp

在show.asp页面中使用

Server.MapPath("./")   返回路径为:E:\wwwroot\company\news

Server.MapPath("/")    返回路径为:E:\wwwroot

Server.MapPath("../")   返回路径为:E:\wwwroot\company

Server.MapPath("~/")   返回路径为:E:\wwwroot\company

server.MapPath(request.ServerVariables("Path_Info"))

Request.ServerVariables("Path_Translated")

上面两种方式返回路径为 D:\wwwroot\company\news\show.asp

Asp.Net Server.MapPath()用法的更多相关文章

  1. asp于Server.MapPath用法

    总是忘记Server.MapPath的用法,以下记录了,以后使用: 总注:Server.MapPath获得的路径都是server上的物理路径,也就是常说的绝对路径 1.Server.MapPath(& ...

  2. Server.MapPath() 用法

    Server.MapPath() ./当前目录/网站主目录../上层目录~/网站虚拟目录 如果当前的网站目录为E:\wwwroot   应用程序虚拟目录为E:\wwwroot\company 浏览的页 ...

  3. Server.mappath用法

    1.Server.MapPath ("/") 应用程序根目录所在的位置 如 C:\qq\qqroot\ 2.Server.MapPath ("./") 表示所在 ...

  4. Server.MapPath()的用法

    http://blog.csdn.net/qiuhaifeng_csu/article/details/19416407 Server.MapPath(string path)作用是返回与Web服务器 ...

  5. ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、Server.MapPath(转载)

    1.Request.ApplicationPath->当前应用的目录   Jsp中, ApplicationPath指的是当前的application(应用程序)的目录,ASP.NET中也是这个 ...

  6. 【转载】ASP.NET中Server.MapPath方法获取网站根目录总结

    在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server ...

  7. Asp: Server.mapPath() 注意事项

    今天下午,在删除一个用户后,竟然发现该用户上传的图片还能正常显示. 郁闷了,怎么会这样? 为了再次验证这个结果,我新注册一个用户名,然后上传3张图片,接着删除这个用户,再查看刚刚上传的3张图片,竟然没 ...

  8. asp.net中Server.MapPath的使用

    http://www.studyofnet.com/news/184.html   本文导读:Server.MapPath()的全名是System.Web.HttpContext.Current.Se ...

  9. ASP.NET - 在类中如何使用 Server.MapPath

    直接在类中使用 Server.MapPath 会出现错误,这是由于类中不能直接使用 System.Web.UI.Page 的非静态函数造成的.解决方法有两种: 方法一.为类增加继承 class CFo ...

随机推荐

  1. Selenium 2自动化测试实战40(单线程)

    单线程 #onethread.py #coding:utf-8 from time import sleep,ctime #听音乐任务 def music(): print('i was listen ...

  2. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-4.在线教育后台数据库设计

    笔记 4.在线教育后台数据库设计     简介:讲解后端数据库设计    ,字段冗余的好处,及常见注意事项 1.数据库设计:          er图:          实体对象:矩形        ...

  3. Linux shell脚本重试机制

    重试机制在实际编程场景中应用比较场景,比如你的任务在请求一个正在写入数据但不确定什么时间会完成的文件,可能就需要通过尝试机制间隔一段时间重新执行任务. 以下 shell 脚本是实现重试机制的模板: # ...

  4. Windows配置jdk环境变量

    配置环境变量 前置条件:已经安装jdk以及jre 操 作:右击"我的电脑"-->"属性"-->"高级系统设置"-->&qu ...

  5. (转)window.XMLHttpRequest详解(AJAX工作原理)

    转自:http://l.xbest.blog.163.com/blog/static/8640444120100225516963/?fromdm&fromSearch&isFromS ...

  6. GitHub项目精选(持续更新)

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190815110442972.jpg?x-oss-process=image/watermark,type_Zm ...

  7. 【计算机视觉】UCLA开源图像检测器

    UCLA (加州大学洛杉矶分校)发布了一个强大的图像检测软件的源码 ,该软件可以非常高速的检测每个图像的细节,例如可用于检测指纹和虹膜,或者用于自动驾驶.通过识别物体的边界进行提取.首先确定一个物体的 ...

  8. JDBC ----- SQL 插入记录

    package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...

  9. WijmoJS 中自定义 React 菜单和列表项模板

    WijmoJS 中自定义 React 菜单和列表项模板 在V2019.0 Update2 的全新版本中,React 框架下 WijmoJS 的前端UI组件功能再度增强. WijmoJS的菜单和类似列表 ...

  10. 服务器:消息18456,级别16,状态1 用户‘sa’登录失败解决方法

    无法连接到服务器**:  服务器:消息18456,级别16,状态1   [Microsoft][ODBC   SQL   Server   Driver][Sql   server]   用户 'sa ...