360浏览器不能打开ftp服务器上的文件,解决IE、360、谷歌浏览器等无法访问FTP中文文件路径...
最近开发一个项目,用户的文件是存放在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);
//网络协议名称
string netXYName = "";
if (match != null)
{
netXYName = match.Value;
paraUrl = paraUrl.Replace(netXYName, "");
}
//判断IP地址
string patternIP = @"^(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((25[0-5]?)|(1\d{0,2}))";
match = Regex.Match(paraUrl, patternIP);
//ip地址
string ip = "";
if (match != null)
{
ip = match.Value;
//去掉ip地址之后的路径
paraUrl = paraUrl.Replace(ip+"/", "");
}
string encode = HttpUtility.UrlEncode(paraUrl, System.Text.Encoding.GetEncoding("GB2312"));
string returnUrl = "";
if (!string.IsNullOrEmpty(netXYName) && !string.IsNullOrEmpty(ip))
returnUrl = netXYName + ip+"/" + encode.ToUpper();
else
returnUrl = encode.ToUpper();
context.Response.ContentType = "text/plain";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("{");
sb.Append("\"data\":\"" + returnUrl + "\"");
sb.Append("}");
//输出数据
context.Response.Write(sb.ToString());
context.Response.End();
360浏览器不能打开ftp服务器上的文件,解决IE、360、谷歌浏览器等无法访问FTP中文文件路径...相关推荐
- 360浏览器一打开就是瑞星安全网址怎么办
核心提示:360浏览器一打开就是瑞星安全网址怎么办 360浏览器一打开就是瑞星安全网址怎么办 解决方法如下: 1.打开360杀毒软件后,在页面底部右下角点击打开[软件净化]后能找到瑞星导航,点击卸载. ...
- 打开360浏览器显示无法连接服务器错误,Win10电脑上360浏览器提示网络连接错误,错误代码 102的解决方案...
360浏览器是我们经常在Win10电脑上使用的浏览器之一,如果我们在Win10电脑上,用360浏览器无法打开网页,还提示网络连接错误,错误代码 102,这个我们要怎么办呢?这个问题已经让很多用户无法正 ...
- 打开FTP服务器上的文件夹时发生错误。请检查是否有权限访问该文件夹
当您使用FTP上传数据的时候,经常会遇到"打开FTP"无权限的提示,这是由于您的浏览器设置了防火墙的缘故,下面是正确的设置流程: 1. 首先打开一个IE浏览器(如果打开了多个浏览器 ...
- “打开ftp服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹
阿里云虚拟主机上传网站程序 问题场景:网页制作完成后,程序需上传至虚拟主机 注意事项: 1.Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . 2. 如果网页文件较多,上传较慢 ...
- 打开ftp服务器上的文件时发生错误。请检查是否有权限访问该文件夹
打开ftp服务器上的文件时发生错误.请检查是否有权限访问该文件夹 详细信息:the opration time out 我以为是文件夹内容太多,访问超时,所以设置了下服务器的超时为2000秒,也不起作 ...
- “打开ftp服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹“
阿里云虚拟主机上传网站程序 问题场景:网页制作完成后,程序需上传至虚拟主机 注意事项: 1.Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . 2. 如果网页文件较多,上传较慢 ...
- 打开ftp服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹
问题:在上传过程中,出现"打开ftp服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹"错误. 解决办法(未成功):将上传的文件分配组或用户的权限为完全控制,上传还是失败: ...
- 打开ftp服务器上的文件夹时发生错误 请检查是否,以及220 227 报错
2019独角兽企业重金招聘Python工程师标准>>> 在没有进行设置过程中,进行连接到ftp的服务器中之后,会提示的是错误的信息为"打开ftp服务器上的文件夹时发生错误 ...
- 打开FTP 服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹 FTP 200 TYPE is now ASCll , 227 Entering Passive Mode
文章目录 打开FTP 服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹 FTP 200 TYPE is now ASCll , 227 Entering Passive Mode 1.错误如图 ...
最新文章
- 9款Android经常使用的高速开发框架
- 视频|每日CeBIT:IBM九大展区各显神通,传统工业与工业4.0的博弈
- 项目Alpha冲刺 Day11
- 【温故知新】CSS学习笔记(字体样式属性)
- rhel6上使用udev配置oracle asm,Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结文档
- 河南云计算和大数据“十三五”发展规划发布
- java 函数式编程 示例_功能Java示例 第1部分–从命令式到声明式
- MySQL--开发技巧(一)
- mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题
- C++ 语言学习入门--类
- 如何制作手机自适应网页
- solarflare低延迟网卡_Solarflare低延迟万兆网卡配置和性能调优实践
- java学习心路历程
- 饥荒控制台输入没用_《饥荒》控制台秘籍使用方法
- huffman python,哈夫曼(Huffman)编码python代码实现
- Win10 发布UWD图形驱动程序 有助于小幅提高性能
- 脱机使用计算机是什么意思,电脑脱机状态是什么意思
- 尚硅谷 宋红康老师 Java视频全程课程目录
- python服务端设置心跳处理_Heartrate:看见 Python 程序运行的“心跳”
- 全国计算机报名拍照神器,2021年全国计算机等级报名须知及报名电子照教程