最近开发一个项目,用户的文件是存放在FTP服务器上的。并且需要在浏览器中,浏览这些文件。FTP文件路径如下:
但是却出现了如下问题:ftp://192.168.1.121/成果/分区/建设控制/市域控规划分.jpg
1.FTP中文文件路径在Firfox中可以正常显示
2.但是在IE、360、谷歌浏览其中却提示,无法访问路径
经过查询资料,知道IE等浏览器对中文字符采用的是GBK的字符集编码,但是Firfox却是采用的UTF-8的字符集编码。
所以得出如下结论:
1.在客户端判断浏览器产品是否属于Firfox
2.如果当前客户端不是Firfox,那么就对路径进行GBK编码
3.但是JS脚本无法实现GBK编码,故此必须在服务器端进行GBK编码
4.在服务器端建立一个CharsetHandler.ashx文件
5.文件内容如下:
string paraUrl = context.Request.QueryString["url"];
if (string.IsNullOrEmpty(paraUrl))
return;
paraUrl = paraUrl.ToLower();
//判断网络协议
string patternNetXY = @"^(http|https|ftp):[/\\]{2}";
Match match = Regex.Match(paraUrl, patternNetXY
更多推荐
360浏览器不能打开ftp服务器上的文件,解决IE、360、谷歌浏览器等无法访问FTP中文文件路径...
发布评论