各位大虾,我现在要在我的程序中实现文件的上传和下载功能,谁哪里有代码?帮忙参考参考,文件类型限于word和excel
解决方案 »
- button 如何实现在pagecontrol逐个创建复选框
- delphi运行找不到setupapi.dcu
- 我用一个ADOTABLE的表来连接ACCESS库中的一个List表,请问我该如何动态复制这个表为另一个表,并保存到ACCESS数据库中?
- 一个收费的算法问题!帮忙看下!急啊!
- 有关在delphi 中调用 sql server 的DTS 保存成的文件的问题(高手请进)急
- 谁有delphi现成的树啊
- 送分啦,用DELPHI如果做编辑软件?
- 请问一下,用ADOCONNECTION的连接访问服务器端的SQL数据库,在客户端不装SQLserver能运行吗EXE程序?
- 拫据鼠标位置如何得到控件名称
- 请问那位仁兄,知道下载的第三方控件要放在那?怎样在程序里调用?
- 如何获取Windows当前登录的域用户的RDN?
- 做过C/S结构的达人们帮帮忙~~~
FTP 网络开发即可
貌似网上很多例子。unit UpDownFile;interfaceuses
Windows, Classes, Idhttp, URLMon, IdMultipartFormData;const UpUrl = 'http://127.0.0.1/upfile/upfile.asp';
const UpFileName = 'C:\Documents and Settings\Administrator\桌面\test\web.mdb';
const DownUrl = 'http://www.google.com/images/logo_sm.gif';
const DownFileName = 'web.gif';type
TUpDownFile = class
private
FThreadID : DWord;
FHandle : THandle;
{ Private declarations }
public
constructor Create;
procedure UpFile;
procedure DownFile;
procedure Close;
end;implementationfunction UpFileEx(): string; stdcall;
var
MutPartForm: TIdMultiPartFormDataStream;
response: string;
FHttp: Tidhttp;
begin
FHttp := Tidhttp.Create(nil);
FHttp.HandleRedirects := true;
FHttp.AllowCookies := true; MutPartForm := TIdMultiPartFormDataStream.Create;
MutPartForm.AddFormField('act', 'upload');
MutPartForm.AddFormField('upcount', '1');
MutPartForm.AddFormField('filepath', 'data');
MutPartForm.AddFormField('file1', 'filename="' + UpFileName + '"');
MutPartForm.AddFormField('Submit', 'Submit');
MutPartForm.AddFile('file1', UpFileName, 'text/plain');
try
response := FHttp.Post(UpUrl, MutPartForm);
//Messagebox(0, PAnsiChar(response), 'ca', MB_OK);
finally
MutPartForm.Free;
FHttp.Free;
end;
end;function DownFileEx(): string; stdcall;
begin
UrlDownloadToFile(nil, PChar(DownUrl), PChar(DownFileName), 0, nil);
end;constructor TUpDownFile.Create;
begin
//
end;procedure TUpDownFile.UpFile;
begin
//FHandle := CreateThread(nil,0,@UpFileEx,nil,0,FThreadID);
UpFileEx;
end;procedure TUpDownFile.DownFile;
begin
// FHandle := CreateThread(nil,0,@DownFileEx,nil,0,FThreadID);
DownFileEx;
end;procedure TUpDownFile.Close;
begin
//ExitThread(FThreadID);
end;end. 代码不是我写,在csdn上面一个人的博客里面看见的,他又是转载的,反正关系很复杂的,不说了,自己看看!
但是这个是在局域网中
IdFTP1.Username := '用户名';
IdFTP1.Password := '密码';
if IdFTP1.Connected then IdFTP1.Disconnect;
IdFTP1.Connect();
try
IdFTP1.Get('\data\远程文件名','本地文件名',True);
except上传IdFTP1.Host := '主机地址';
IdFTP1.Username := '用户名';
IdFTP1.Password := '密码';
if IdFTP1.Connected then IdFTP1.Disconnect;
IdFTP1.Connect();
try
IdFTP1.Put('data/本地文件名','远程文件名');
except
不要辜负了delphi。看这里教程
http://www.cppblog.com/Khan/archive/2007/01/05/11132.html
IdFTP1.Password:=Trim(EdtPass.Text);
IdFTP1.Username:=Trim(EdtUser.Text);
IdFTP1.Port:=StrToInt(Trim(EdtPort.Text));
IdFTP1.Host:=EdtIP.Text; try
IdFTP1.Connect();
application.MessageBox('FTP服务器连接成功!','提示',MB_OK+MB_ICONINFORMATION);
IdFTP1.Disconnect;
except
on e:Exception do
begin
//WriteLog('FTP服务器连接失败,'+e.Message);
Application.MessageBox('FTP服务器连接失败!'+e.Message,'警告',mb_ok+mb_iconwarning);
IdFTP1.Disconnect;
end;
end;下载IdFTP1.Host := '主机地址';
IdFTP1.Username := '用户名';
IdFTP1.Password := '密码';
if IdFTP1.Connected then
IdFTP1.Disconnect;
IdFTP1.Connect();
try
IdFTP1.Get('\data\远程文件名','本地文件名',True);
except
on e:Execption do
showmessage(e.Message);
end;上传IdFTP1.Host := '主机地址';
IdFTP1.Username := '用户名';
IdFTP1.Password := '密码';
if IdFTP1.Connected then
IdFTP1.Disconnect;
IdFTP1.Connect();
try
IdFTP1.Put('data/本地文件名','远程文件名');
except
on e:Execption do
showmessage(e.Message);
end;