如何正確的使用IdFtp.put?? |
尚未結案
|
maggie
一般會員 發表:6 回覆:12 積分:3 註冊:2002-03-13 發送簡訊給我 |
請教各位先進..如果在不使用Opendialog.filename的情況下, 也就是我有已知的路徑,【在Ftp Server上的某個資料夾下的某筆檔案】,ex 【139.223.xxx.xxx\data\index.html】.. 如上所言..我程式碼寫成
Idftp1.Put('\\139.223.xx.xxx\data\index.html,'index.html');
可是卻不行..這是為什麼呢?我該如何寫才是正確的? 如果使用Opendialog.filename是可以ㄉ
IdFtp1.Put(OpenDialog1.FileName,ExtractFileName(OpenDialog1.FileName)); 請問我該怎麼做呢?? 謝謝各位先進....
|
turboted
版主 發表:95 回覆:754 積分:452 註冊:2002-07-23 發送簡訊給我 |
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
|
maggie
一般會員 發表:6 回覆:12 積分:3 註冊:2002-03-13 發送簡訊給我 |
首先..先謝謝兩位先進的回答..
針對turboted大大ㄉ疑問..我在此再說明一下..
我的確是要做上傳的動作沒錯..
只是我想在上傳我選擇好檔案的同時..也copy原本在FTP Server上就有的檔案到上傳時的資料夾
所以IdFtp1.Put(OpenDialog1.FileName,ExtractFileName(OpenDialog1.FileName));
這是可以ㄉ..沒問題 Idftp1.Put('\\ml350\pmp\9509\index.htm','index.htm');
就不行 procedure Put(const ASourceFile: string; const ADestFile: string = ''; const AAppend: boolean = false); 為什麼Put()裡面的參數改為已知的就不行呢?? 另外wnhoo大大的方法..我試ㄌ幾次..還是不行..
??奇怪?? 還請各位多多指教~謝謝 < >< >
|
turboted
版主 發表:95 回覆:754 積分:452 註冊:2002-07-23 發送簡訊給我 |
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
Put is an overloaded procedure that uploads data to a file with the name specified in ADestFile on the FTP server. The uploaded data can be either a stream (ASource) or a name of a file which exists on the user's computer (ASourceFile). 不可能直接這樣抓網站的東西否則甚麼 script file / dll 全都可以抓豈不是天下大亂了? 若來源也是 ftp, 你要先 get 進 memorystream / 本地 file 再 put 到目的地 若來源是 http, 你可先用 idHTTP get 進 Stream 再用 idFTP put 到目的地
|
maggie
一般會員 發表:6 回覆:12 積分:3 註冊:2002-03-13 發送簡訊給我 |
謝謝各位的不吝指教.. 大概是我題意說的不清吧..
其實我做的是..上傳一個我自已開啟的檔案(ex:a.htm),到FTP Server上(如果FTP Server上沒有我選擇好的資料夾名稱(ex:File),就會新建一個(ex:FTP Server/File),然後同時將在Ftp Server上原本資料夾內的一個檔案(ex:FTP Server/Source/b.htm),我要順便把它複製到新建的資料夾內(FTP Server/File)...就是這樣ㄌ.. 後來我知道為什麼我用wnhoo先進的方法..卻不成功..的原因所在ㄌ
因為我的路徑沒有寫完整,經過修改後..現在已正常使用..結果如下.. Fn:=ExtractFileName(OpenDialog1.FileName); IdFtp1.Host :='139.xxx.xxx.xxx'; //Ml350
IdFtp1.Port :=21;
IdFtp1.User :='anonymous';
IdFtp1.Password :='guest'; try
IdFtp1.Connect(True);
except
begin
showmessage('未成功連線到主機!請檢查網路狀態~');
exit;
end;
end; try
IdFtp1.MakeDir(Category_Cmbx.Text); //新建選擇的File資料夾
except
end; IdFtp1.ChangeDir(Category_Cmbx.Text); //換到新建的資料夾 Try
IdFtp1.Put(OpenDialog1.FileName,Fn); //開ex:a.htm上傳
Idftp1.Put('\\Ml350\Apache Group\Tomcat 4.1\webapps\ROOT\pmp\9509
\b.htm','b.htm'); //複製b.htm到新建資料夾
except
begin
showmessage('上傳失敗!請檢查~');
exit;
end;
end;
showmessage('上傳成功!');
IdFtp1.Disconnect;
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
turboted
版主 發表:95 回覆:754 積分:452 註冊:2002-07-23 發送簡訊給我 |
|
maggie
一般會員 發表:6 回覆:12 積分:3 註冊:2002-03-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |