Delphi ClientSocket和ServerSocket怎么实现文档的上传下载?? delphi开发用ClientSocket和ServerSocket做了一个下的系统,现在需要实现本地文件上传服务器和服务器文件下载到本机的功能,希望高手指点一二!!在此谢过!最好能给源码!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 參考一下:http://download.csdn.net/source/1033761 http://i.cnsoftware.cn/space-dfwthread-id-3936435.html Procedure TForm1.sendFile;varbuf:array[0..200] of char;menory:TMemoryStream;SFileSize:integer;beginmenory:=TMemoryStream.Create;menory.LoadFromStream('文件名');SFileSize:=GetFileSize('文件名'); //获取文件大小menory.Position:=i;//i是发送到第几个字节。可以声明一个全局变量来记录if SFileSize - i < 200 thenbufsize:=SFileSize //文件剩余字节小于200,bufsize等于剩余量elsebufsize:=200; //剩余字节大于200,bufsize等于200menory.Write(buf,bufsize); //将内存数据写入buf,bufsize是写多少字节。ClientSocket1.socket.Sendbuf(buf,sizeof(buf));//发送封包,这buf就是文件的数据。end;function TForm1.GetFileSize(Const FileName:String):integer;var//获取文件的大小 FileS:TFileStream;begin FileS:=TFileStream.Create(FileName,fmOpenRead or fmShareDenyNone); //声明一个FILE result:=Files.Size; Files.Free;end;这样只能一次发200个字节。如果没发完,需要服务器给出回应后,再继续发。 大家制作的程序是指定服务器和数据库吗? 数据查询出来后如何在edit中显示? 求<delphi5开发人员指南> 北京,6也可以 请问,delphi6.0下的NMFTP组件,在delphi7.0的哪里? 为什么用QuickRep做的报表在EPSOONEPSON STYLUS COLOR 460中打印不出来啊? 散分,马上结 那位能帮我解释一下Inherited的语法? 继续散分!α 小小问题,ShellAbout等命令的执行需要调用哪个包? 日期转换? 如何在局域网内获取指定IP的“计算机描述” 急!急!delphi 利用socket多线程下载文件
Procedure TForm1.sendFile;
var
buf:array[0..200] of char;
menory:TMemoryStream;
SFileSize:integer;
begin
menory:=TMemoryStream.Create;
menory.LoadFromStream('文件名');
SFileSize:=GetFileSize('文件名'); //获取文件大小
menory.Position:=i;//i是发送到第几个字节。可以声明一个全局变量来记录
if SFileSize - i < 200 then
bufsize:=SFileSize //文件剩余字节小于200,bufsize等于剩余量
else
bufsize:=200; //剩余字节大于200,bufsize等于200
menory.Write(buf,bufsize); //将内存数据写入buf,bufsize是写多少字节。
ClientSocket1.socket.Sendbuf(buf,sizeof(buf));//发送封包,这buf就是文件的数据。
end;function TForm1.GetFileSize(Const FileName:String):integer;
var//获取文件的大小
FileS:TFileStream;
begin
FileS:=TFileStream.Create(FileName,fmOpenRead or fmShareDenyNone); //声明一个FILE
result:=Files.Size;
Files.Free;
end;这样只能一次发200个字节。如果没发完,需要服务器给出回应后,再继续发。