asp中URL传参遇空格字符串被截断
来源:互联网 发布:java 动态脚本语言 编辑:程序博客网 时间:2024/06/06 00:44
最近在做网站上传文件删除的功能,出现了一个奇怪的情况,就是有的文件能正常删除,而有的文件却删除失败。我把两文件进行对比,发现是文件名的问题。一个文件的文件名有空格,而另一个没空格。一个是直接路劲访问,另一个是传递多个参数进行访问。
如下是连个文件文件名的对比图片↓
如下是正常不带参数的路径↓
如下是带多个参数的路径↓
从上面可看见,filename已经遇空格被截断了。后面的IPTable.xls已经看不见。So,传过去的值不正确,删除的时候查找不到这个文件。
但,这边的下载是没问题的。那就让我们看看2014-06-27 IPTable.xls这个文件的下载URL地址是怎么样的。如下↓
从上面可以看见,URL地址中,文件名这截的地址空格处被%20所替换。这就是我们解决问题的关键。原来在URL中%20就是代表空格的意思。
那好的。我们就在传递文件名这个参数的时候对RUL的参数进行重新编码。让他的空格能被URL识别。
如下是代码段:↓
Response.write("<a href=?foldinfo="&foldinfo&"&action=deletefile&filename="&replace(filenamecode," ","%20")&" onClick='return confirm(""确定要删除该文件吗?"")'>删除</a> ")
由上边,我们主要是filename这段代码。由上可知,我么用replace这个函数,手动把空格(即第二个参数),替换成了%20.这样,在传递参数的时候,文件名的空格也就自动转换成%20。这样,出现的URL传参遇空格字符串截断问题也就解决了。
让我们来看一下,被我们完善以后的URL地址:↓
地址正常。OK!
如下是连个文件文件名的对比图片↓
如下是正常不带参数的路径↓
如下是带多个参数的路径↓
从上面可看见,filename已经遇空格被截断了。后面的IPTable.xls已经看不见。So,传过去的值不正确,删除的时候查找不到这个文件。
但,这边的下载是没问题的。那就让我们看看2014-06-27 IPTable.xls这个文件的下载URL地址是怎么样的。如下↓
从上面可以看见,URL地址中,文件名这截的地址空格处被%20所替换。这就是我们解决问题的关键。原来在URL中%20就是代表空格的意思。
那好的。我们就在传递文件名这个参数的时候对RUL的参数进行重新编码。让他的空格能被URL识别。
如下是代码段:↓
Response.write("<a href=?foldinfo="&foldinfo&"&action=deletefile&filename="&replace(filenamecode," ","%20")&" onClick='return confirm(""确定要删除该文件吗?"")'>删除</a> ")
由上边,我们主要是filename这段代码。由上可知,我么用replace这个函数,手动把空格(即第二个参数),替换成了%20.这样,在传递参数的时候,文件名的空格也就自动转换成%20。这样,出现的URL传参遇空格字符串截断问题也就解决了。
让我们来看一下,被我们完善以后的URL地址:↓
地址正常。OK!
0 0
- asp中URL传参遇空格字符串被截断
- 字符串遇空格截断
- URL字符串中空格转化
- url被截断问题
- asp.net中GridView里字符串的截断
- asp 截取字符串中空格的处理
- asp中null字符截断
- URL参数中&和+被转成空格
- URL中空格问题
- sql中字符串被截断的问题调试
- <input>动态拼接时value中空格后的内容被截断
- asp.net中去除字符串中的所有空格字符
- url中+变成空格解决方法
- URL中加号变空格
- 去掉字符串中空格
- 替换字符串中空格
- 去掉字符串中空格
- 替换字符串中空格
- char与byte的区别
- 速来膜拜!20位活跃在Github上的国内技术大牛
- Andriod PackageManager使用
- hdu 4937 Lucky Number(数学题 进制转换)2014多校训练第7场
- next_permutation与prev_permutation
- asp中URL传参遇空格字符串被截断
- FFmepg 多线程解码历程
- 【Python】【List】去除列表中重复的元素
- 8个前沿的 HTML5 & CSS3 效果(附源码)
- MySQL内核月报 2014.08
- 公交车身媒体新优势
- android获得控件在屏幕中的绝对坐标 getLocationInWindow 和 getLocationOnScreen
- java中的IO操作
- g++基本知识汇总