A. 为什么FTP传输时会自动停止
楼主是不是同时在传好几个来自FTP的文件呀?那样的话可能会被禁止的。。。
B. FTP的问题,连接正常但下载到中途就停了
我的也是这样,我估计你下载的是某一个网站里的东西,所以会出现这种情况,很可能是服务器自己的问题。或者是你同时进行了几个任务,而且任务下载的全是同一网站的东西,所以会下到某一程度就完全停下来。
C. java FTP上传 , 服务器卡死
卡死?赶紧换一台配置更好的服务器吧。。。。做为一个服务器商的建议
D. java代码ftp.storefile传送文件,文件太大为什么会突然终止
可能是你的电脑文件系统,FAT32只支持4G以下,
E. 为什么我的设置的FTP服务器自动关闭高手解答!
FrontPage 98网站FTP到NT服务器
在《个人电脑也能用上ASP》一文里我们讲的是单机环境上如何用PWS 4.0 创建个人网站,如果是配合的FrontPage 98,则在发布(Publish)时是传送到本机上Inetpub目录的wwwroot子目录中的,网站名称默认是_of_webname(这里的Webname是在您在第一次运行FrontPage创建网站时输入的目录名)。因此,对于单机来说,Publish没有什么特别要求或难点。但对于一个中、小型的公司来讲,如果需要每个用户将自己负责的部门或小组的网页上传到服务器上,则需要一些烦琐的手续了。我们经过多次实验,成功地实现利用FrontPage 98的FTP功能将Windows 98 工作站上的网页Publish到装有IIS的服务器上。总结如下(本文以Windows NT Server 4.0 自身提供的 IIS 2.0 为例):
大致步骤如下:
一、准备FTP服务及登录用户
二、设置FTP服务
三、传送
一、准备工作 1、如果尚未安装IIS(Microsoft Internet Information Server 2.0),则应先安装,安装路径为NT光盘I386目录下的InetSrv子目录,安装程序为Inetsetup.EXE。注意:如果不需要Gopher服务,可取消其复选框;如果系统已安装SQL等ODBC驱动程序,则也应将取消,否则会因版本冲突而在启动时出错;另外,在安装过程中,还会有一个是否允许Guest用户访问FTP服务的对话框,选择否对后结续过程并无大的影响。安装成功,会在启动菜单的程序出现Microsoft Internet Server(公用)组,其中的Internet 服务管理器将在下面的讲解中处于重要地位。 2、如果尚未为工作站用户配置帐号,则应到开始/程序/管理工具(公用)/域用户管理器中去添加,对FTP用户来说,只要是域用户(即Domain Users)即可。 3、本文中示例说明: 服务器计算机名称:Web_Server IIS 目录路径:D:\Inetpub 用户 FTP 目录路径:D:\Inetpub\wwwroot\lanhome FTP 用户名:Heatch Windows 98 工作站计算机名称:Heatch PWS 4.0 目录路径:C:\Inetpub FrontPage 98 网站目录路径:C:\Inetpub\wwwroot\lanhome
二、配置FTP服务 1、选取开始/程序/Microsoft Internet Server(公用)/Internet 服务管理器,出现一个Microsoft Internet Service Manager窗口,其中列出了当前正在进行的 Internet 服务。 2、双击FTP服务,进入Web_Server 的 FTP 服务属性窗口。 (1)首先是服务页框 TCP 端口确认当前运行的 FTP 服务的端口。采用默认端口 21。 连接超时值 以秒为单位设置服务器在等待一定的时间后断开与非活动用户的连接。其范围可在100到32,767 秒之间,作用是如果 FTP 协议不能关闭连接时,在此时间后系统会自动关闭所有连接。默认值为900秒。 允许匿名连接和仅允许匿名连接 此两项最为重要。前者设置所有匿名连接权限所使用的 Windows NT 用户帐号。只要安装了 IIS 中的 FTP 服务系统就会自动在 Windows NT 的"域用户管理器"和"Internet 服务管理器"中创建一个 IUSR_Web_Server 帐号(这里的 Web_Server 是计算机名称),要注意的是在安装后必须指定密码并将两个地方的密码设为一致。默认情况下,IIS为所有匿名登录创建并使用 IUSR_Web_Server 帐号。但是,你不能用这个用户名和密码在Windows 98工作站上来登录并访问 FTP 服务,因为它只用于 Windows NT ,而且该用户还应该有本地登录权力。一般说来,匿名 FTP 用户可以使用anonymous作为用户名,以电子邮件地址为密码来登录(这跟AceFTP程序中采用的默认用户ID一样)。 仅允许匿名登录的作用是防止使用有管理权限的帐号进行访问,选取此项后,即使是Administrator帐号也不能登录,FTP只能通过登录服务器进行本地访问来管理。 因此,对于内部网来说,可以取消仅允许匿名连接框。 (2)目录页框 选取添加按钮,出现目录属性窗口;单击浏览按钮,在选定目录窗口确定 FTP 服务要使用的目录路径,在本例中为D:\Inetpub\wwwroot\lanhome(注意,这里的lanhome是在wwwroot目录中新的子目录);选取访问方式的可写,单击确定返回;在目录属性窗口,选取虚拟目录单选按钮,在别名一栏输入lanhome(这样做的目的有两个,一是在 FTP 时仅指明lanhome即可而不必管其是位于哪个磁盘哪个目录;二则可以防止恶意者循原目录入侵);对于目录列表样式一项,由于大多数浏览器接受 UNIX 格式,所以为了最大的兼容性应选择 UNIX格式。 其它的采用默认值即可。
三、传送 这里假定我们已经将网页做好,需要上传到服务器以测试效果或供他人浏览。 (1)首先,在FrontPage Explorer的File菜单里选择Publish FrontPage Web或Publish图标; (2)在Publish FrontPage Web窗口,系统在将要传送的Web地址一栏里取的默认值是http://heatch/_of_lanhome(与我们文章开头提到的本地单机上一样),重新输入http://Web_Server,并单击确定; (3)在Microsoft Web Publish Wizad窗口,分别在FTP服务器名称和目录路径分别输入:Web_Server和 lanhome 。单击下一步; (4)接下来输入登录到该服务器的帐号和密码:heatch。单击完成; (5)系统以你提供的帐号和密码(此项一定不能空)在网络上搜索你提供的FTP服务器并试图登录;若一切正常,系统将开始将对两地的目录进行列表和转换(如果在 Windows 98 工作站上你是用的 PWS 4.0 提供的 FrontPage Server Extensions 而不是 FrontPage 98 本身的PWS,则如果你在网页使用了 FrontPage Active elements——如搜索表单、讨论表单等活动元件,系统会将使用了此类元件的网页列表出来,并警告说 IIS 中这些元件将无法使用); (6)如果登录成功,系统就开始传送,并给出一个动态的过程,显示共有多少个文件需要上传,正在传送的文件名,尚有多少个未上传以及还需要多少时间。 (7)现在,我们在工作站上启动IE,在地址栏输入http://web_server/lanhome,怎么样,是不是这样也建成了一个WEB服务器?!
F. 为什么我用ftp上传软件总是只能传几十个就自动停止呢
这种问题一般都是网络不稳定,或者网络时断时续的,就会出现这样的问题,特别是在上网高峰的时候更容易出现这样的问题!
G. 为什么ftp能下载,上传很慢一会就自动停止了
应该有几种情况:
首先有可能是你的机器的原因,内存有可能不够
第二有可能是你的网络配置有问题
第三,有可能你传的东西太大,而网络带宽又不够
第四,你可能中毒了
希望能帮到你
H. 服务器上装FTP服务端软件,总是自动停止或关闭
看看21端口是不是被其他软件占用了,或者是把SERV-U的端口改成别的试试
I. 为什么万网专享型主机FTP服务有时会自动停止
如果您租用的专享自由型主机的FTP服务出现自动停止的情况,一般情况下是由于主机的FTP服务没有设置为自动启动造成,当硬件节点服务器由于升级补丁或者系统维护后进行重启时,就会造成专享主机的FTP没有自动启动。
将专享主机的FTP设置为自动启动的方法如下:
登录远程服务器->开始->程序->管理工具->服务
在“服务”设置框中找到最后一项“FTP Publishing Service”服务,双击该服务后在“启动类型”中选择“自动”选项,然后确定保存即可。进行完此设置后,您的专享型主机FTP服务就不会因服务器重启造成自动停止了
J. java ftp上传时断网,文件损坏
以二进制流上传,然后实现断点续传。
/**
* 上传文件到FTP服务器,支持断点续传
* @param local 本地文件名称,绝对路径
* @param remote 远程文件路径,使用/home/directory1/subdirectory/file.ext 按照Linux上的路径指定方式,支持多级目录嵌套,支持递归创建不存在的目录结构
* @return 上传结果
* @throws IOException
*/
public UploadStatus upload(String local,String remote) throws IOException{
FTPClient ftpClient = new FTPClient();
//设置PassiveMode传输
ftpClient.enterLocalPassiveMode();
//设置以二进制流的方式传输
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
UploadStatus result;
//对远程目录的处理
String remoteFileName = remote;
if(remote.contains("/")){
remoteFileName = remote.substring(remote.lastIndexOf("/")+1);
String directory = remote.substring(0,remote.lastIndexOf("/")+1);
if(!directory.equalsIgnoreCase("/")&&!ftpClient.changeWorkingDirectory(directory)){
//如果远程目录不存在,则递归创建远程服务器目录
int start=0;
int end = 0;
if(directory.startsWith("/")){
start = 1;
}else{
start = 0;
}
end = directory.indexOf("/",start);
while(true){
String subDirectory = remote.substring(start,end);
if(!ftpClient.changeWorkingDirectory(subDirectory)){
if(ftpClient.makeDirectory(subDirectory)){
ftpClient.changeWorkingDirectory(subDirectory);
}else {
System.out.println("创建目录失败");
return UploadStatus.Create_Directory_Fail;
}
}
start = end + 1;
end = directory.indexOf("/",start);
//检查所有目录是否创建完毕
if(end <= start){
break;
}
}
}
}
//检查远程是否存在文件
FTPFile[] files = ftpClient.listFiles(remoteFileName);
if(files.length == 1){
long remoteSize = files[0].getSize();
File f = new File(local);
long localSize = f.length();
if(remoteSize==localSize){
return UploadStatus.File_Exits;
}else if(remoteSize > localSize){
return UploadStatus.Remote_Bigger_Local;
}
//尝试移动文件内读取指针,实现断点续传
InputStream is = new FileInputStream(f);
if(is.skip(remoteSize)==remoteSize){
ftpClient.setRestartOffset(remoteSize);
if(ftpClient.storeFile(remote, is)){
return UploadStatus.Upload_From_Break_Success;
}
}
//如果断点续传没有成功,则删除服务器上文件,重新上传
if(!ftpClient.deleteFile(remoteFileName)){
return UploadStatus.Delete_Remote_Faild;
}
is = new FileInputStream(f);
if(ftpClient.storeFile(remote, is)){
result = UploadStatus.Upload_New_File_Success;
}else{
result = UploadStatus.Upload_New_File_Failed;
}
is.close();
}else {
InputStream is = new FileInputStream(local);
if(ftpClient.storeFile(remoteFileName, is)){
result = UploadStatus.Upload_New_File_Success;
}else{
result = UploadStatus.Upload_New_File_Failed;
}
is.close();
}
return result;
}