㈠ 網頁中如何實現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,具體的自己看著辦。