線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:5936
推到 Plurk!
推到 Facebook!

FTP問題

尚未結案
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-01-16 13:19:18 IP:61.30.xxx.xxx 訂閱
現在要做一支程式,將FTP1的file1,file2,file3.....陸續上傳至FPT2,(file1傳完後再傳file2....)
因為file1,file2,file3....的檔案相當大,所以不想利用以下的方式,
先從FPT1 download至本機,再由本機upload至FTP2的方式,因為醬子會相當耗時,
不知道有沒有什麼元件是可以做到由FTP上傳檔案至FTP,且可以看到上傳的百分比?
麻煩大大們幫忙一下。
編輯記錄
taishyang 重新編輯於 2007-07-27 09:32:46, 註解 將文章分類成[問題]‧
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-01-16 14:25:24 IP:61.219.xxx.xxx 未訂閱
印象中 FTP Server 和 FTP Client 必須支援 FXP 協定才行 ((Site-to-Site transfers)
支援 FXP 著名的 FTP Client 就是 FlashFXP
http://www.flashfxp.com/
CuteFTP 和 FileZilla 不確定
FTP Server 小弟不清楚,
去查察 CuteFTP Server 和 FileZilla Server 看看
http://sourceforge.net/projects/filezilla
這裡有些支援 FXP 的軟體 (可能還有 Source Code)
http://sourceforge.net/search/?type_of_search=soft&words=FXP
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-01-16 15:20:26 IP:61.30.xxx.xxx 訂閱
感謝pcboy2大大的回覆,但我想知道的是,Delphi裡有沒有什麼元件是可以達到這樣子的需求,而不是軟體。
或者是在unix底下可以下什麼指令上傳檔案到另一台Server呢?
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-01-16 15:26:59 IP:61.219.xxx.xxx 未訂閱
你試看看 
Indy Clients 標籤的 IdFTP, IdTCPClient, IdUDPClient 元件
Internet 標籤的 TcpClient, UdpSocket 元件
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-01-16 15:54:52 IP:61.30.xxx.xxx 訂閱
感謝pcboy2大大再次的回覆,TIdFTP我以前有使用過,但是都是把本機電腦的檔案上傳至Server上,
不曉得FTP Server對FTP Server上傳檔案的語法要怎麼寫,
請問題有TIdftp實際的範例可以參考嗎或都其他元件的範例也可以?
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-01-16 22:09:12 IP:203.204.xxx.xxx 未訂閱
說真的
這裡有些支援 FXP 的軟體 (可能還有 Source Code)
http://sourceforge.net/search/?type_of_search=soft&words=FXP
語法可能要研究別人的 Source Code 和看 RFC
小弟沒見過有 FXP Source Code 的 Delphi 範例 or 元件
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-01-17 01:21:55 IP:203.73.xxx.xxx 訂閱
google it, Delphi ftp fxp

只不過我翻了幾頁發現商業元件比較多XD
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-01-17 11:17:33 IP:61.30.xxx.xxx 訂閱
感謝 coffee 大大提供的資料,我自Google查詢後,
http://www.clevercomponents.com/products/inetsuite/ftpclient.asp這個網站下找到一個"clFTP"的Delphi元件,
但是try了好久試不出來,我把我的code貼上來,麻煩指點我哪裡寫錯了。

begin
clFtp1.Port:=21;
clFtp1.Server:='192.168.xxx.xx1'; //目的FTP1
clFtp1.UserName:='user1';
clFtp1.Password:='pwd1';
clFtp1.Open;
clFtp1.ChangeCurrentDir('/dir1');
clFtp2.Port:=21;
clFtp2.Server:='192.168.xxx.xx2'; //來源FTP2
clFtp2.UserName:='user2';
clFtp2.Password:='pwd2';
clFtp2.Open;
clFtp2.ChangeCurrentDir('/dir2');
clFtp2.FxpGetFile('test1.txt','test1.txt',clFtp1); //將FTP2中dir2目錄下的test1.txt上傳至FTP1的dir1目錄中
//執行到最後一行時會出現以下錯誤訊息"500 Invalid PORT Command."
end;
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-01-17 16:32:09 IP:61.30.xxx.xxx 訂閱

===================引 用 文 章===================
感謝 coffee 大大提供的資料,我自Google查詢後,
http://www.clevercomponents.com/products/inetsuite/ftpclient.asp這個網站下找到一個"clFTP"的Delphi元件,
但是try了好久試不出來,我把我的code貼上來,麻煩指點我哪裡寫錯了。
?
begin?
??clFtp1.Port:=21;
? clFtp1.Server:='192.168.xxx.xx1';? //目的FTP1
? clFtp1.UserName:='user1';
? clFtp1.Password:='pwd1';
? clFtp1.Open;
? clFtp1.ChangeCurrentDir('/dir1');
? clFtp2.Port:=21;
? clFtp2.Server:='192.168.xxx.xx2';? //來源FTP2
? clFtp2.UserName:='user2';
? clFtp2.Password:='pwd2';
? clFtp2.Open;
? clFtp2.ChangeCurrentDir('/dir2');
? clFtp2.FxpGetFile('test1.txt','test1.txt',clFtp1); //將FTP2中dir2目錄下的test1.txt上傳至FTP1的dir1目錄中
? //執行到最後一行時會出現以下錯誤訊息"500 Invalid PORT Command."
end;

[補充]:將最後一行換成clFtp1.FxpPutFile('test1.txt','test1.txt',clFtp2);
會出現"425 Can't open data connection."
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-01-17 22:29:12 IP:203.73.xxx.xxx 訂閱
FXP可以算是一個額外的function,所以你要先確定兩個FTP Site都有FXP Support,
如果不行,那麼你還是只能回到原先的方法,找第三臺主機當中繼站,
看起來你的錯誤訊息蠻有可能是不支援FXP的關係,
你可以用FlashFXP試試看兩個Ftp Server是不是都支援FXP...順便了解一下FXP的運作功能
回傳錯誤訊息你可以查一下(google吧?XD)看有可能是什麼引發的

另外,不要作不必要的引言,文章看起來還頗累的..:P
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-01-18 10:23:09 IP:61.30.xxx.xxx 訂閱
感謝Coffee大大再次回 覆,我有用過FlashFXP這個軟體試過,的確是不能傳檔案,所以有可能就是你說的,
FTP Serverx
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-01-18 10:24:11 IP:61.30.xxx.xxx 訂閱
感謝Coffee大大再次回 覆,我有用過FlashFXP這個軟體試過,的確是不能傳檔案,所以有可能就是你說的,
FTP Server沒有支援FXP的功能,那麼我要怎麼去設定讓FTP Server支援FXP的功能呢??
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#13 引用回覆 回覆 發表時間:2007-01-18 14:44:50 IP:61.219.xxx.xxx 未訂閱
> 那麼我要怎麼去設定讓FTP Server支援FXP的功能呢??
您用哪套 FTP Server ? 如果該 FTP Server 有支援 FXP, 就想辦法找出設定方法

如果該 FTP Server 不支援, 你可以換一套
如果該 FTP Server 根本不是您管理的, 就沒辦法了
Serv-U FTP Server 好像支援 FXP
http://www.rhinosoft.com/Knowledgebase/KBArticle.asp?RefNo=1066&prod=su

------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#14 引用回覆 回覆 發表時間:2007-01-19 13:44:21 IP:61.30.xxx.xxx 訂閱
這次我用另外兩台FTP Server做測試,首先利用FlashFxp這個軟體測試,
結果上傳成功,然後用clFTP的Delphi元件測試,
會出現"Timeout error occured."的錯誤訊息,這又是什麼問題呢??


pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#15 引用回覆 回覆 發表時間:2007-01-19 14:09:56 IP:61.219.xxx.xxx 未訂閱
> Timeout error occured
FTP Server 上有顯示 login 成功嗎 ?
或者有其他錯誤訊息 ?

===================引 用 文 章===================
這次我用另外兩台FTP Server做測試,首先利用FlashFxp這個軟體測試,
結果上傳成功,然後用clFTP的Delphi元件測試,
會出現"Timeout error occured."的錯誤訊息,這又是什麼問題呢??


------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#16 引用回覆 回覆 發表時間:2007-01-19 14:24:40 IP:61.30.xxx.xxx 訂閱
pcboy2大大指的是Delphi寫的程式有Login成功嗎?如果是的話,我的回答是,有Login成功。
我的程式碼跟之前po的一樣,但是執行到 clFtp1.FxpPutFile('test1.txt','test1.txt',clFtp2);
就會出現"Timeout error occured."的訊息。再貼一次我的程式碼:

begin
clFtp1.Port:=21;
clFtp1.Server:='192.168.xxx.xx1'; //目的FTP1
clFtp1.UserName:='user1';
clFtp1.Password:='pwd1';
clFtp1.Open;
clFtp1.ChangeCurrentDir('/dir1');

clFtp2.Port:=21;
clFtp2.Server:='192.168.xxx.xx2'; //來源FTP2
clFtp2.UserName:='user2';
clFtp2.Password:='pwd2';
clFtp2.Open;
clFtp2.ChangeCurrentDir('/dir2');

clFtp1.FxpPutFile('test1.txt','test1.txt',clFtp2);
end;

另外,請問一下,要怎麼把圖檔貼在發問的內容裡面呢??
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#17 引用回覆 回覆 發表時間:2007-01-19 15:51:41 IP:61.219.xxx.xxx 未訂閱
兩台 FTP Server 畫面有什麼特別訊息嗎 ?
或者兩台 FTP Server 的 Log 有什麼特別資訊嗎 ?
(某些 FTP Server 畫面顯示的訊息 和 Log 會相同, 只要看一處即可)
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#18 引用回覆 回覆 發表時間:2007-01-19 16:17:09 IP:61.30.xxx.xxx 訂閱
pcboy2大大,我很想貼圖給你看,但是我不曉得要怎麼把圖貼上來,
你可以教我怎麼貼圖嗎?
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#19 引用回覆 回覆 發表時間:2007-01-20 16:08:27 IP:203.73.xxx.xxx 訂閱
說真的,因為FXP這一部份的元件我沒有用過,
只能建議你看官方有沒有FXP的Sample source 參考一下,
然後看一下FlashFXP你可以成功傳輸的設定,試試看
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
mnsf
初階會員


發表:104
回覆:90
積分:48
註冊:2003-11-25

發送簡訊給我
#20 引用回覆 回覆 發表時間:2007-01-22 13:42:25 IP:61.30.xxx.xxx 訂閱
http://www.clevercomponents.com/
在下載該元件的網站上沒有fxpputfile的sameple,也看過FlashFXP必沒有什麼特別的設定,
所以真的不曉得問題是出在哪裡,難道是測試版(Trial version)的關係嗎??
mypigbaby
高階會員


發表:11
回覆:168
積分:155
註冊:2006-07-20

發送簡訊給我
#21 引用回覆 回覆 發表時間:2007-07-26 23:10:55 IP:61.64.xxx.xxx 訂閱
豬寶寶最近剛好要搞這東西
clftp1.FxpGetFile('100mb','200mb',clftp2);

這樣可以成功
clftp1=來源ftp
clftp2=目的ftp

===================引 用 mnsf 文 章===================
pcboy2大大指的是Delphi寫的程式有Login成功嗎?如果是的話,我的回答是,有Login成功。
我的程式碼跟之前po的一樣,但是執行到 clFtp1.FxpPutFile('test1.txt','test1.txt',clFtp2);
就會出現"Timeout error occured."的訊息。再貼一次我的程式碼:

begin
? clFtp1.Port:=21;
? clFtp1.Server:='192.168.xxx.xx1';? //目的FTP1
? clFtp1.UserName:='user1';
? clFtp1.Password:='pwd1';
? clFtp1.Open;
? clFtp1.ChangeCurrentDir('/dir1');

? clFtp2.Port:=21;
? clFtp2.Server:='192.168.xxx.xx2';? //來源FTP2
? clFtp2.UserName:='user2';
? clFtp2.Password:='pwd2';
? clFtp2.Open;
? clFtp2.ChangeCurrentDir('/dir2');

? clFtp1.FxpPutFile('test1.txt','test1.txt',clFtp2);
end;

另外,請問一下,要怎麼把圖檔貼在發問的內容裡面呢??
系統時間:2024-04-28 16:38:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!