delphiftp上傳
『壹』 delphi 傳異地輸資料庫數據,用FTP如何傳輸,在線等候
1.Ftp文件傳輸可以使用NMFTP控制項,使用方法,D6的幫助里有詳細說明2.伺服器端做一常駐程序,當有文件上傳(用API函數檢測硬碟是否發生改動),即進行數據導入
『貳』 Delphi中,怎麼使用FTP主動下傳文件
delphi 提供了 indy 組件包,其中 TIdFTP 可以實現通過以 FTP 方式進行文件的上傳與下載。示例代碼如下:procere TForm1.Button2Click(Sender: TObject);var tt :TIdFTPListItems; t : TIdFTPListItem; i : integer; tfname : String;begin IdFTP1.TransferType := ftBinary; //指定為二進制文件 或文本文件ftASCII for i:=0 to IdFTP1.DirectoryListing.Count-1 do begin tt := IdFTP1.DirectoryListing; //得到當前目錄下文件及目錄列表 t := tt.Items[i]; //得到一個文件相關信息 Label1.Caption :=t.Text; //取出一個文件信息內容 tfname := t.FileName; showmessage(t.OwnerName+' '+t.GroupName+' '+t.FileName+' '+t.LinkedItemName); if IdFTP1.DirectoryListing.Items[i].ItemType = ditFile then //如果是文件 begin IdFTP1.Get(tfname,'d:\FTPtest\'+tfname,True,True); //下載到本地,並為覆蓋,且支持斷點續傳 end; end;end;
『叄』 [delphi]關於上傳文件,代碼如下: 問題是文件上傳都成功,可是下載的時候卻只能下下來一個空白的文件
這種問題我也遇到過,不知道你用的是不是SQL,如果是SQL SERVER 的話,你可以用查詢分析器查詢這條數據,然後他的image欄位就會顯示出來,如果為空,說明你上傳的時候沒有將東西上傳上去,那就是上傳的問題,如果是有數據的,那主要就是下載的問題,先明確問題之後,再去找下面的原因。
哦,突然發現,你是將數據流用字元串保存的?
如果是這樣,要用特定的函數將流轉換成字元串的。 (自己網路下,把流轉換成字元串,我這無法網路- -)
pWJNR:=Parameters.ParamByName('CJWJ').LoadFromStream(pFileStream,ftBlob);
這么寫應該是不對的。
一般情況是,定義一個流類型,然後將文件轉換成流,然後直接保存到資料庫的image欄位中,然後下載的時候,再將image欄位轉換成文件。就好了。。
var
m:TMemoryStream;
begin
m:=TMemoryStream.Create;
m.LoadFromFile(Fielname);
Data1.ADOhtgl.edit;
Data1.ADOhtgl.Parameters.ParamByName('CJWJ').LoadFromStream(m,ftBlob);
Date1.ADOhtgl.Post;
end;
如滿意請採納,如有問題請追問。