博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp: Server.mapPath() 注意事项
阅读量:4582 次
发布时间:2019-06-09

本文共 749 字,大约阅读时间需要 2 分钟。

今天下午,在删除一个用户后,竟然发现该用户上传的图片还能正常显示。

郁闷了,怎么会这样?

为了再次验证这个结果,我新注册一个用户名,然后上传3张图片,接着删除这个用户,再查看刚刚上传的3张图片,竟然没有被删除。

马上检查程序,删除图片的相关代码如下:deleteFile "../upload/xxx.jpg"

第一眼感觉,没错啊,到百度搜索了一下 server.mapPath(),然后写了一下简单的测试程序:

从测试的结果才看出来问题之所在:

前不久网站上加了一块硬盘,然后我把网站根目录下的/upload/ 指向到另一块新的硬盘上,网站程序我没有同时转过去。

这个时候,如果再执行 deleteFile "../upload/xxx.jpg",删除的将是当前asp文件所在的上一级文件夹下的upload/xxx.jpg

所以才出现最初的结果,用户名删除了,但图片没有被删除!

------------------------------------------------------------------------------------------------------------------------------------------------

从上面的测试截屏上,可以得到一个结论:

如果一个网站的根目录下建立了虚拟路径:

在使用server.mapPath(参数)时,参数中最好使用绝对路径来定位文件,格式如: /路径/...

尽量不要使用 ../ 这样的路径,server.mapPath("../xxx/")表示当前asp文件所在的上一级目录的xxx文件夹。

 

转载于:https://www.cnblogs.com/personnel/p/4583220.html

你可能感兴趣的文章
一些多项式的整理
查看>>
NIO selector
查看>>
MySQL中DATETIME、DATE和TIMESTAMP类型的区别
查看>>
asp代码获取年数,季度数.星期数,天数,小时数,分钟数,秒数等时
查看>>
python之建完model之后操作admin
查看>>
Java 类加载机制 ClassLoader Class.forName 内存管理 垃圾回收GC
查看>>
shell 脚本后台运行知识
查看>>
php设置cookie,在js中如何获取
查看>>
实验三+099+吴丹丹
查看>>
[bzoj3036]绿豆蛙的归宿
查看>>
[洛谷P5057][CQOI2006]简单题
查看>>
多线程同步的几种方法
查看>>
数据结构-冒泡排序
查看>>
关于程序状态字寄存器PSW(Program Status Word)与多核多线程
查看>>
mybatis的缓存
查看>>
java 缓冲流 Buffer
查看>>
7月23号=》261页-265页
查看>>
软考知识点梳理--综合布线
查看>>
Mysql5.6主从热备配置
查看>>
VS2010DebugView捕捉
查看>>