
问题出现原因:FTP客户端程序设置问题,客户上网线路问题,ftp服务器端问题。
处理方法:建议使用CUTPFTP软件来上传客户的网页,在“FTP主机地址处”最好填写IP地址,如果上传时提示socket错误的话,检查一下使用软件的编辑菜单下的连接中防火墙里是否有一个使用了pasv模式,如果选中的话,把此选项取消即可连接主机。
FTP文件传输失败一般有几种情况:
文件损失,不完整,导致传输过程验证失败。
文件使用中,比如在杀毒或者编辑中的文件,系统占用是不能传输的。
权限不足,比如针对某些用户,是不能传输部分文件的,比如exe等风险文件。
特殊情况,比如文件传输过程中,目录满了,存储失败,这个是由服务器管理员控制的,如果目录体积不够文件传输的,联系管理员协商解决。
ftp上传文件失败的解决办法
这个是说明你上传使用的用户名和密码 对ftp根目录没有足够权限 所以不能上传,请检查ftp设置
首先 需要打开lusrmgrmsc建立用户 设置密码 并设置为永不过期
然后 在服务器上建立ftp服务器,设置一个根目录 并赋予第一步建立的用户权限并继承
最后重启ftp服务即可
如果是购买的虚拟主机 那就联系虚拟主机提供商设置权限
FlashFXP 20中文版:选项--参数选择--代理/防火墙/标识--将“使用被动模式”前复选框中的打勾去掉2、 Cute FTP 35英文版:FTP—Settings—Options—Firewall,将“PASV mode”前复选框中的打勾去掉。
3、 Cute FTP35中文版:FTP—设置—选项—防火墙,“PASV方式(A)”前复选框中的打勾去掉。
4、 Leap FTP272:Sites—Site Manager—Advanced,将“Use PASV mode”前复选框中的打勾去掉。
Cute FTP 编辑—》设置->连接->防火墙->去掉pasv的勾
FlashFXP 选项——》参数选择-》链接-》代理 去掉使用被动模式前的勾
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,
服务器从20端口向客户端的空闲端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端向服务器的空闲端口发送连接请求,建立一条数据链路来传送数据。
因为PORT方式在传送数据时,由服务器主动连接客户端,所以,如果客户端在防火墙或NAT网关后面,用PORT方式将无法与Internet上的FTP服务器传送文件。这种情况需要使用PASV方式。几乎所有的ftp客户端软件都支持这两种方式。特殊的典型例子是ie,ie默认是用PORT方式的。如果要在ie里启用PASV方式,请打开ie,在菜单里选择:工具 -> Internet选项 -> 高级,在“使用被动ftp”前面打上钩(需要IE60以上才支持)。”jfileupload applet我之前用的是这个很古老的东西来做文件上传,遇到这个问题。后来只得换了另外一种做法。你是要做FTP文件上传吗?如果是的话像我这样做,代码:
public static boolean uploadFile(String url,int port,String username, String password, String path, String filename, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftpconnect(url, port);//连接FTP服务器
//如果采用默认端口,可以使用ftpconnect(url)的方式直接连接FTP服务器
ftplogin(username, password);//登录
reply = ftpgetReplyCode();
if (!FTPReplyisPositiveCompletion(reply)) {
ftpdisconnect();
return success;
}
/如果不设置编码和文件类型 上传到FTP之后文件内容会出错/
ftpsetControlEncoding("GBK");
//设置文件类型(二进制)
ftpsetFileType(FTPClientBINARY_FILE_TYPE);
ftpchangeWorkingDirectory(path);
ftpstoreFile(filename, input);
inputclose();
ftplogout();
success = true;
} catch (IOException e) {
eprintStackTrace();
} finally {
if (ftpisConnected()) {
try {
ftpdisconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
原因:设置错误造成。解决方法:重新设置服务器来解决此问题。
如下参考:
1首先打开个人FTP软件,d出如下界面。个人可选择直接在窗口中输入相关信息或通过网站管理器保存个人用户信息。使用站点管理器保存个人信息,如下图。
2打开站点管理器后,将个人的相关信息输入即可登录,如下图。
3从右侧可以看出,个人已经成功登录,但是上传时,服务器不安全,不支持TLS。
4,如果你发现在FTP登录主机地址,所以实际上,尽管个人过去也可以登录到服务器通过特殊IP上传文件,但实际上属于对服务器的IP地址可以登录FTP地址,文件上传,如下图。
5但只要FTP登录主机地址与个人服务器相同即可,如下图。
6最后,通过上传一个文件,您可以看到您的问题已经解决,您可以上传一个新文件。
局域网其他机器能登陆FTP服务器,并且可以下载文件,那就说明FTP服务器是正常的,至少端口21是打开的。不能上传是正常的,默认情况下,用户只有下载权限。
你需要针对不同的用户,在FTP服务期,也就是Serv
U上设置相应的权限,比如上传文件,建立资料夹,删除文件等权限。如果您还是无法连接,请您检查下您本地是否有以下设置:
(1)您本机是否安装了诺顿等杀毒软件,如果安装也请您暂时将其关闭后测试;
(2)如果您使用的是Winxp系统,由于Winxp系统自带防火墙,请您把该防火墙关闭后测试;
(3)如果您是内网上网,那么请您检查一下您内部是否有代理服务器或硬件防火墙等对高端端口设置了相关限制。如果存在限制,请您联系网络管理人员开放后测试。
附:如何关闭WINXP的防火墙?
双击你的拨号链接(右下角任务栏的
通知区域显示图标
)
,你会看到“属性”
一项,打开你的拨号属性,高级选项
,
其中第一项就是你的
防火墙功能选择
,你可以去掉钩选,即可关闭它。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)