• 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文件夹。

  • 相关阅读:
    java,jsp+mysql5.6搭建环境
    数据结构:栈的顺序存储结构
    开源 免费 java CMS FreeCMS1.2标签 config
    在Ubuntu中安装HP LaserJet 1020驱动
    iPad及BT4下的WEP破解实验与分析 | Network Security
    WEP&WPA Cracking on BT5/MAC [转]
    关于显示屏分辨率的问题
    Laravel5.1 路由 路由分组
    版本号/缓存刷新 laravel mix函数
    Laravel 中config的用法
  • 原文地址:https://www.cnblogs.com/personnel/p/4583220.html
Copyright © 2020-2023  润新知