Asp: Server.mapPath() 注意事项
今天下午,在删除一个用户后,竟然发现该用户上传的图片还能正常显示。
郁闷了,怎么会这样?
为了再次验证这个结果,我新注册一个用户名,然后上传3张图片,接着删除这个用户,再查看刚刚上传的3张图片,竟然没有被删除。
马上检查程序,删除图片的相关代码如下:deleteFile "../upload/xxx.jpg"
第一眼感觉,没错啊,到百度搜索了一下 server.mapPath(),然后写了一下简单的测试程序:

从测试的结果才看出来问题之所在:
前不久网站上加了一块硬盘,然后我把网站根目录下的/upload/ 指向到另一块新的硬盘上,网站程序我没有同时转过去。
这个时候,如果再执行 deleteFile "../upload/xxx.jpg",删除的将是当前asp文件所在的上一级文件夹下的upload/xxx.jpg
所以才出现最初的结果,用户名删除了,但图片没有被删除!
------------------------------------------------------------------------------------------------------------------------------------------------
从上面的测试截屏上,可以得到一个结论:
如果一个网站的根目录下建立了虚拟路径:
在使用server.mapPath(参数)时,参数中最好使用绝对路径来定位文件,格式如: /路径/...
尽量不要使用 ../ 这样的路径,server.mapPath("../xxx/")表示当前asp文件所在的上一级目录的xxx文件夹。
Asp: Server.mapPath() 注意事项的更多相关文章
- asp.net中Server.MapPath的使用
http://www.studyofnet.com/news/184.html 本文导读:Server.MapPath()的全名是System.Web.HttpContext.Current.Se ...
- ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、Server.MapPath(转载)
1.Request.ApplicationPath->当前应用的目录 Jsp中, ApplicationPath指的是当前的application(应用程序)的目录,ASP.NET中也是这个 ...
- 【转载】ASP.NET中Server.MapPath方法获取网站根目录总结
在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server ...
- Asp.Net Server.MapPath()用法
做了一个上传文件的功能 本地测试没问题 部署到服务器之后 一直报错 由于 某些历史原因 看不到错误信息 最后发现是路径的问题 其实这么简单的问题 最早该想到的 ...... Server.MapPat ...
- ASP.NET - 在类中如何使用 Server.MapPath
直接在类中使用 Server.MapPath 会出现错误,这是由于类中不能直接使用 System.Web.UI.Page 的非静态函数造成的.解决方法有两种: 方法一.为类增加继承 class CFo ...
- asp于Server.MapPath用法
总是忘记Server.MapPath的用法,以下记录了,以后使用: 总注:Server.MapPath获得的路径都是server上的物理路径,也就是常说的绝对路径 1.Server.MapPath(& ...
- asp.net的Server.MapPath方法
Server.MapPath()的功能: 返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径. 命名空间: System.Web 程序集: System.Web(在 System.Web.dl ...
- Server.MapPath()
./当前目录/网站主目录../上层目录~/网站虚拟目录 如果当前的网站目录为E:\wwwroot 应用程序虚拟目录为E:\wwwroot\company 浏览的页面路径为E:\wwwroot\co ...
- Server.MapPath查询路径那几件事
主要总结Server.MapPath 这个方法的使用以及使用的场景,不是什么时候都适合使用: 1.实现功能: Server.MapPath能够获取指定URL相对服务器的物理路径,在IIS服务端,能够根 ...
随机推荐
- Libp2p学习(一)
Libp2p学习 参考资料:libp2p-specifications : https://github.com/libp2p/specs 持续更新ing 1. 介绍 Libp2p的实现目标是: 支持 ...
- mysql启动后随即关闭问题解决(ibdata1文件损坏导致)
机房一台服务器上的mysql运行一段时间了,突然出现了一个很奇怪的现象:重启后无法恢复了!准确情况是:启动mysql后随即就又关闭了. 查看mysql错误日志如下: 160920 22:41:41 m ...
- eclipse添加maven环境
一.打开eclipse,选择Window->preference,如下图所示 二.Maven-> installation->add,见下图: 三.选择Directory,选择mav ...
- 个人博客作业Week7(阅读文章,心得体会)
Alpha阶段结束了,内心可以说是五味杂陈.不是说我们的产品拿不上台面那般差劲,复杂的心绪主要来源于和别的队的比较,别的队才刚刚发布没多久访问量和注册量就破百了,并且还发起了找bug送红包的活动.可能 ...
- NLP笔记:词向量和语言模型
NLP问题如果要转化为机器学习问题,第一步是要找一种方法把这些符号数学化. 有两种常见的表示方法: One-hot Representation,这种方法把每个词表示为一个很长的向量.这个向量的维度是 ...
- first time to use github
first time to use github and feeling good. 学习软件工程,老师要求我们用这个软件管理自己的代码,网站是全英的,软件也简单易用,方便 https://githu ...
- 5.2&5.3
队友吕日荣 http://www.cnblogs.com/Russelling/ 最近队友有点忙,尽管如此,队友还是有很给力的付出,让我们在最后完成了任务. 一开始都不知道这次的任务是要做什么,毫无头 ...
- SQL 别名
Sql中添加别名有三种方式:
- PHP文件系统操作常用函数
虽然PHP提供很多内置的文件处理函数,但是分得特别细,有一些操作需要多个函数一起使用才能达到目标,比如删除非空文件夹的所有内容,遍历文件夹等功能,下面各个函数是学习的时候整理的,有的是教程里的,有的是 ...
- Raphaël - JavaScript Vector Library
Raphaël http://dmitrybaranovskiy.github.io/raphael/ // ┌──────────────────────────────────────────── ...