当前位置:首页 » 文件传输 » 实现ftp
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

实现ftp

发布时间: 2022-01-15 08:01:06

㈠ 网页中如何实现ftp 上传功能

两种方式:前提是你有用户名和密码。
1.如果服务器上设置了FTP,譬如在IIS做了设置,只需访问绑定的域名就可以;
2.如果使用第三方软件做的FTP譬如Serv-U,那么你需要获取IP地址,譬如是192.168.1.1,那么你就在地址栏输入 ftp://192.168.1.1,弹出对话框,输入用户名和密码即可!

如果服务器设置匿名访问,那么则不需要用户名和密码!

㈡ java实现ftp的几种方式

有二个种FTP方式:ftp和sftp
ftp的包:commons-net-3.3.jar
sftp包:com.jcraft.jsch_0.1.31.jar

㈢ 请问如何实现设置FTP

无法通过设定智能处理,可通过变相的设定用户目录的读写权限来限制用户上传文件至目录B中。
根据楼主描述,楼主有相应的FTP知识哟,只不过需要纠正一点,FTP只允许创建一个主文件夹
即为根目录 / 是无法把A B作为主目录添加至FTP的
设定如下
D:\ ---- A folder = /
| ---- B folder = /B
-------------------------

判断楼主是Win平台 一般使用server-U 和 FileZlia server #PS:我电脑均没装,不然就图文并茂给楼主讲解了。

server-U 相对好设定一些,创建一个用户设定主目录A设置好权限,添加子目录B并设定好权限(即可让用户有写权限)

FileZlia 子目录不好描述 变相操作 先创建一个group并设定目录为B设置权限,然后创建一个用户并设置主目录A设置权限并加入group即可。

我建议修改FTP的登陆提示信息,告诉用户 上传文件放置路径

嘛 linux 直接ln过去就可以了

㈣ 请问:在Java中怎样实现ftp

使用ftpClient类

ftpClient的文件路径是相对路径还是绝对路径和Ftp Server的类型有关,我就遇到过wu-ftp是相对路径而vs-ftp是绝对路径的问题,所以你最好在put文件的时候不要用/xxx/xxx这种绝对路径的书写方式。还有ftp用户权限问题,linux下root不能作为ftp用户的所以通常用的用户不一定能够在你的目的路径下有写文件的权限,所以一定要建好目录再传。这个没有什么实际例子,我用的也是网上的例子。
public boolean sendFile(String filepathname, String distfilepathname) {
boolean result = true;
if (aftp != null) {
System.out.println("正在粘贴文件,请耐心等待....");

String contentperline;
try {
a = "粘贴成功!";
String fg = new String("/");
int index = filepathname.lastIndexOf(fg);
String filename = filepathname.substring(index + 1);
File localFile;
localFile = new File(filepathname);
RandomAccessFile sendFile = new RandomAccessFile(filepathname, "r");
//
sendFile.seek(0);
outs = aftp.put(distfilepathname);
outputs = new DataOutputStream(outs);
while (sendFile.getFilePointer() < sendFile.length()) {
ch = sendFile.read();
outputs.write(ch);
}
outs.close();
sendFile.close();
//FileOperator fop = new FileOperator();
//fop.DeleteFile(filepathname);
}catch (IOException e) {
a = "粘贴失败!";
result = false;
}
System.out.println(a);
//
}else {
result = false;
}
return result;
}

㈤ 如何简单实现ftp数据传输

你要在你机器上面安装一个FTP服务器,下载个Server-U的软件即可,然后可以建立多个用户来进行文件的上传和下载工作。

㈥ java中怎么实现ftp服务器

我知道apache有个commons net包,其中的FTPClient类可以实现客户端和服务之间的文件传输,但是我如果使用这种方式的话,就得将一台服务器上的文件传到我本地,再将这个文件传到另一台服务器上,感觉这中间多了一步操作;

㈦ 怎么用java实现ftp的登陆

/**
*依赖commons-net-3.4.jar,commons-io-2.4.jar
*/
publicclassFtpUtils{
/**
*上传
*@paramhostFTP地址
*@paramport端口ftp默认22,sftp默认23
*@paramuserftp用户名
*@parampwdftp密码
*@paramdestPathFTP文件保存路径
*@paramfileNameftp保存文件名称
*@paramfile需要上传的文件
*/
publicstaticvoipload(Stringhost,intport,Stringuser,Stringpwd,StringdestPath,StringfileName,Filefile){
FTPClientftp=null;
InputStreamfis=null;
try{
//1.建立连接
ftp=newFTPClient();
ftp.connect(host,port);
//2.验证连接地址
intreply=ftp.getReplyCode();
if(FTPReply.isPositiveCompletion(reply)){
ftp.disconnect();
return;
}
//3.登录
ftp.login(user,pwd);
//设置上传路径、缓存、字符集、文件类型等
ftp.changeWorkingDirectory(destPath);
ftp.setBufferSize(1024);
ftp.setControlEncoding("UTF-8");
ftp.setFileType(FTP.BINARY_FILE_TYPE);
//4.上传
fis=newFileInputStream(file);
ftp.storeFile(fileName,fis);
}catch(SocketExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{
IOUtils.closeQuietly(fis);
try{
if(ftp.isAvailable()){
ftp.logout();
}
if(ftp.isConnected()){
ftp.disconnect();
}
//删除上传临时文件
if(null!=file&&file.exists()){
file.delete();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}

㈧ 如何搭建ftp服务器实现文件共享

1、点击开始,控制面板,程序,打开或关闭Windows功能,或者在开始菜单里搜索"打开或",弹出Windows功能窗口,勾选Internet信息服务下的FTP功能和Web管理工具,以此开启服务。点击确定后,需要等几分钟。(必须选中Web管理工具而且全部展开选中,否则仅仅开启FTP功能无法继续调用IIS管理器)
2、在控制面板-系统和安全-管理工具,或直接在开始菜单搜索"Internet信息服务(IIS)管理器"。
3、打开ISS管理器,右键点击你的服务器,选择"添加FTP站点"。

4、再添加FTP站点名称、选择要共享的文件夹路径。

5、在下拉菜单中选择当前的IP作为IP地址,端口默认。勾选"自动启动FTP站点,SSL选择无或允许皆可。"

6、选择匿名访问,根据需求选择允许访问的用户。根据需求选择是否允许读取、写入。

7、设置完成后FTP服务器就建好了,就可以实现计算机中的文件共享,方便又便携。

㈨ 使用FTP协议可以实现什么

FTP的作用正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。 FTP工作原理拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。简单地说,支持FTP协议的服务器就是FTP服务器,下面介绍一下什么是FTP协议(文件传输协议) 一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事,我们知道 Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,据统计连接在Internet上的计算机已有上千万台,而这些计算机可能运行不同的操作系统,有运行Unix的服务器,也有运行Dos、Windows的PC机和运行MacOS的苹果机等等,而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。 与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。 在FTP的使用当中,用户经常遇到两个概念:下载(Download)和上载(Upload)。下载文件就是从远程主机拷贝文件至自己的计算机上;上载文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上载(下载)文件。 使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可上载或下载文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。 匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。 值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。 当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上载文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上载文件,用户也只能将文件上载至某一指定上载目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上载有问题的文件,如带病毒的文件。 作为一个Internet用户,可通过FTP在任何两台Internet主机之间拷贝文件。但是,实际上大多数人只有一个Internet帐户,FTP主要用于下载公共文件,例如共享软件、各公司技术支持文件等。 Internet上有成千上万台匿名FTP主机,这些主机上存放着数不清的文件,供用户免费拷贝。实际上,几乎所有类型的信息,所有类型的计算机程序都可以在Internet上找到。这是Internet吸引我们的重要原因之一。匿名FTP使用户有机会存取到世界上最大的信息库,这个信息库是日积月累起来的,并且还在不断增长,永不关闭,涉及到几乎所有主题。而且,这一切是免费的。 匿名FTP是Internet网上发布软件的常用方法。Internet之所以能延续到今天,是因为人们使用通过标准协议提供标准服务的程序。像这样的程序,有许多就是通过匿名FTP发布的,任何人都可以存取它们。 Internet中的有数目巨大的匿名FTP主机以及更多的文件,那么到底怎样才能知道某一特定文件位于哪个匿名FTP主机上的那个目录中呢?这正是Archie服务器所要完成的工作。

㈩ 利用FTP功能可以在网上实现什么

FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。

FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中

-v显示远程服务器的所有响应信息;

-n限制ftp的自动登录,即不使用;

.n etrc文件;

-d使用调试方式;

-g取消全局文件名。

ftp使用的内部命令如下(中括号表示可选项):

1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.

2.$ macro-ame[args]:执行宏定义macro-name.

3.account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。

4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。

5.ascii:使用ascii类型传输方式。

6.bell:每个命令执行完毕后计算机响铃一次。

7.bin:使用二进制文件传输方式。

8.bye:退出ftp会话过程。

9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。

10.cd remote-dir:进入远程主机目录。

11.cp:进入远程主机目录的父目录。

12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。

13.close:中断与远程服务器的ftp会话(与open对应)。

14.cr:使用asscii方式传输文件时,将回车换行转换为回行。

15.delete remote-file:删除远程主机文件。

16.debug[debug-value]:设置调试方式,显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。

17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。

18.disconnection:同close。

19.form format:将文件传输方式设置为format,缺省为file方式。

20.get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。

21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。

22.hash:每传输1024字节,显示一个hash符号(#)。

23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。

24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。

25.image:设置二进制传输方式(同binary)。

26.lcd[dir]:将本地工作目录切换至dir。

27.ls[remote-dir][local-file]:显示远程目录remote-dir,并存入本地文件local-file。

28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。

29.mdelete[remote-file]:删除远程主机文件。

30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如:mdir *.o.*.zipoutfile

31.mget remote-files:传输多个远程文件。

32.mkdir dir-name:在远程主机中建一目录。

33.mls remote-file local-file:同nlist,但可指定多个文件名。

34.mode[modename]:将文件传输方式设置为modename,缺省为stream方式。

35.modtime file-name:显示远程主机文件的最后修改时间。

36.mput local-file:将多个文件传输至远程主机。

37.newer file-name:如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。

38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。

39.nmap[inpattern outpattern]:设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。

40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR。

41.open host[port]:建立指定ftp服务器连接,可指定连接端口。

42.passive:进入被动传输方式。

43.prompt:设置多个文件传输时的交互提示。

44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。

45.put local-file[remote-file]:将本地文件local-file传送至远程主机。

46.pwd:显示远程主机的当前工作目录。

47.quit:同bye,退出ftp会话。

48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.

49.recv remote-file[local-file]:同get。

50.reget remote-file[local-file]:类似于get,但若local-file存在,则从上次传输中断处续传。

51.rhelp[cmd-name]:请求获得远程主机的帮助。

52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态。

53.rename[from][to]:更改远程主机文件名。

54.reset:清除回答队列。

55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。

56.rmdir dir-name:删除远程主机目录。

57.runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀..1,.2等。

58.send local-file[remote-file]:同put。

59.sendport:设置PORT命令的使用。

60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。

61.size file-name:显示远程主机文件大小,如:site idle 7200。

62.status:显示当前ftp状态。

63.struct[struct-name]:将文件传输结构设置为struct-name,缺省时使用stream结构。

64.sunique:将远程主机文件名存储设置为唯一(与runique对应)。

65.system:显示远程主机的操作系统类型。

66.tenex:将文件传输类型设置为TENEX机的所需的类型。

67.tick:设置传输时的字节计数器。

68.trace:设置包跟踪。

69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。

70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3。

71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。

72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.

73.?[cmd]:同help。
---------------------------------------------------------------

就是你上边说的C,D,具体的自己看着办。