使用nmhttp上传存在的问题,急! 凯萨兄整天在csdn上吗?我是好久没有过来了,对csdn感觉很失望,唉~兄有联系方式吗,希望以后常联系^^ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么用nmhttp呢,用nmftp或NMStrm,NMStrmServ不好吗?---------------------------------------------------------(一)用nmstrm,nmstrmservunit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Psock, NMSTRM;type TForm1 = class(TForm) NMStrm1: TNMStrm; NMStrmServ1: TNMStrmServ; Button1: TButton; procedure Button1Click(Sender: TObject); procedure NMStrmServ1MSG(Sender: TComponent; const sFrom: String; strm: TStream); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);var MyStream: TMemoryStream;begin MyStream:= TMemoryStream.Create; try NMStrm1.Host:='127.0.0.1'; MyStream.LoadFromFile('c:\test.exe'); NMStrm1.FromName:='c:\test1.exe'; //发送一个文件名 NMStrm1.PostIt(MyStream); finally MyStream.Free; end;end;procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sFrom: String; strm: TStream);var MyStream: TMemoryStream;begin MyStream := TMemoryStream.Create; MyStream.LoadFromStream(strm); MyStream.SaveToFile(sFrom);end;end.而且Delphi有自带的一个例子,在Delphi\demo\fastnet\strm目录里就是实现的文件传输。-----------------------------------------------------------------------(二)用nmftp给个通俗的:(ftp客户方用fastnet下的nmftp控件) nmftp1.Host:=xxx.xxx.xxx.xxx; nmftp1.port:=21; nmftp1.Connect; nmftp1.userid:=xxx; nmftp1.password:=xxx; nmftp1.reportlevel:=1; nmftp1.timeout:=xxxx; nmftp1.Download(ftp服务器上的文件,存为本地哪个文件); (下载) nmftp1.Abort;(暂停下载) nmftp1.Downloadrestore(ftp服务器上的文件,存为本地哪个文件);(下载的断点续传) nmftp1.upload(xxxxx,xxxxx); (上传) nmftp1.upload(xxx.xxxx); (上传的断点续传)如果你想自己做一个ftp服务器,delphi没有自带的控件可以用ics控件组上的ftpserver控件 使用的是http协议啊,而且传输的时候还要传递参数的&username=xxx&passwd=xxx不过还是十分感谢兄的参与,并且写了这么多代码,我本来都对csdn快绝望了。呵呵^-^ 如何让滑动条移动到最上面 快过年了,我代表党中央给工作在IT一线的民工们发发福利分(100分) 单机如何调试网络程序? 郁闷,散散分…… 分已用尽. 帮个忙,多线程的问题,实在不知道问题出在哪里了,贴上全部源程序, 我用存储过程网数据库里面存数据,可是为啥存进去的都不完整?! 有空可以侃侃,chart 的问题,来者有分,不够再加 一个难题,先给100分,要多加分教我怎么加 再问用DELPHI联EXCEL的问题! word 文档的 换页 问题 如何操作我file-new-form出来的窗体,如显示它隐藏它 有没有哪位去参加Borland今天召开的会议了?
---------------------------------------------------------
(一)用nmstrm,nmstrmservunit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Psock, NMSTRM;type
TForm1 = class(TForm)
NMStrm1: TNMStrm;
NMStrmServ1: TNMStrmServ;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure NMStrmServ1MSG(Sender: TComponent; const sFrom: String;
strm: TStream);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
MyStream: TMemoryStream;
begin
MyStream:= TMemoryStream.Create;
try
NMStrm1.Host:='127.0.0.1';
MyStream.LoadFromFile('c:\test.exe');
NMStrm1.FromName:='c:\test1.exe'; //发送一个文件名
NMStrm1.PostIt(MyStream);
finally
MyStream.Free;
end;
end;procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sFrom: String;
strm: TStream);
var
MyStream: TMemoryStream;
begin
MyStream := TMemoryStream.Create;
MyStream.LoadFromStream(strm);
MyStream.SaveToFile(sFrom);
end;end.而且Delphi有自带的一个例子,在Delphi\demo\fastnet\strm目录里就是实现的文件传输。-----------------------------------------------------------------------
(二)用nmftp给个通俗的:(ftp客户方用fastnet下的nmftp控件)
nmftp1.Host:=xxx.xxx.xxx.xxx;
nmftp1.port:=21;
nmftp1.Connect;
nmftp1.userid:=xxx;
nmftp1.password:=xxx;
nmftp1.reportlevel:=1;
nmftp1.timeout:=xxxx;
nmftp1.Download(ftp服务器上的文件,存为本地哪个文件); (下载)
nmftp1.Abort;(暂停下载)
nmftp1.Downloadrestore(ftp服务器上的文件,存为本地哪个文件);(下载的断点续传)
nmftp1.upload(xxxxx,xxxxx); (上传)
nmftp1.upload(xxx.xxxx); (上传的断点续传)
如果你想自己做一个ftp服务器,delphi没有自带的控件
可以用ics控件组上的ftpserver控件
&username=xxx&passwd=xxx不过还是十分感谢兄的参与,并且写了这么多代码,我本来都对csdn快绝望了。呵呵^-^