Re: [bamboo] Fwd: 修正IE6下上传文件路径访问错误的问题
- From:
- 刚子
- Date:
- 2011-09-16 @ 01:16
中一个问题:服务器上相应位置存在这样的文件:psu[8]_decsmall.png
但是所有浏览器下用路径:/media/uploads/_user/119/logo/psu[8]_decsmall.png均获取不到该文件,好像方括号[]需要转码,']'-->'\]'
求解...
在 2011-09-16 09:07:35,"Tang Daogang" <daogangtang@gmail.com> 写道:
再发一遍。
---------- Forwarded message ----------
From:Tang Daogang<daogangtang@gmail.com>
Date: 2011/9/15
Subject: 修正IE6下上传文件路径访问错误的问题
To: 道哥 <daogangtang@163.com>,bamboo@librelist.com
问题的原因在于:
使用html5上传(chrome, ie9, firefox都支持)时,是由js在客户端对文件名做了一次url encode;
而在使用form上传(html4上传)时,没有做url
encode。而直接按原文件名保存,但是原文件名的话,又存在一个中文编码的问题(windows上和linux服务器上不一样),于是就出现了找不到文件的问题。
解决方案是,在接收文件后,判断是不是ajax上传,不是的话,就进行一次url encoding. 经测试,已经成功。
上传的文件名现在都是经过url编码的了。所以,在显示的时候,需要执行一次http.decodeURL(file.name)进行解码,这样才能得到可阅读的文件名。
--
Nothing is impossible.
--
Nothing is impossible.
Re: Re: [bamboo] Fwd: 修正IE6下上传文件路径访问错误的问题
- From:
- 道哥
- Date:
- 2011-09-16 @ 01:40
这个就是上面那个问题导致的遗留问题。你那些带中括号的文件肯定是用ie6传上去的。然后,没有转义,就保存为[了。更新后,不会出现这个问题。但你得把之前的那些文件删了,或重新上传。
在 2011-09-16 09:16:15,"刚子" <trustmore@163.com> 写道:
中一个问题:服务器上相应位置存在这样的文件:psu[8]_decsmall.png
但是所有浏览器下用路径:/media/uploads/_user/119/logo/psu[8]_decsmall.png均获取不到该文件,好像方括号[]需要转码,']'-->'\]'
求解...
在 2011-09-16 09:07:35,"Tang Daogang" <daogangtang@gmail.com> 写道:
再发一遍。
---------- Forwarded message ----------
From:Tang Daogang<daogangtang@gmail.com>
Date: 2011/9/15
Subject: 修正IE6下上传文件路径访问错误的问题
To: 道哥 <daogangtang@163.com>,bamboo@librelist.com
问题的原因在于:
使用html5上传(chrome, ie9, firefox都支持)时,是由js在客户端对文件名做了一次url encode;
而在使用form上传(html4上传)时,没有做url
encode。而直接按原文件名保存,但是原文件名的话,又存在一个中文编码的问题(windows上和linux服务器上不一样),于是就出现了找不到文件的问题。
解决方案是,在接收文件后,判断是不是ajax上传,不是的话,就进行一次url encoding. 经测试,已经成功。
上传的文件名现在都是经过url编码的了。所以,在显示的时候,需要执行一次http.decodeURL(file.name)进行解码,这样才能得到可阅读的文件名。
--
Nothing is impossible.
--
Nothing is impossible.