delphi 7怎么往服务器传文件

delphi 7怎么往服务器传文件,第1张

提供个思路吧!

1、可以利用FTP方式,在服务器驾设一个FTP服务器,在DEPHI中只要用FTP控件就可以直接传送!,ftp上传可以去度娘查……相当多

2、利用//192.168.0.1方式

,这种方式等同于copy!

1.既然你要实现文件互传,那一般只能使用TCP方式(因为文件数据量一般比较大),那么在服务端使用TCP控件Listen,在客户端也使用TCP控件进行连接(connect),然后就可以了。如果你要实现双向传输,正如你所说,两边都要有服务端和客户端,即做一个软件,放两个TCP控件,一个用于服务端,一个用于客户端。

2.至于你后面一种情况,实际上这是一个你无法直接通过编程解决的问题(本质上是NAT,即1个外网IP=n个内网IP)。目前解决的方法是:

1)使用VPN,现成的是VNN软件(北京一个公司开发的,可以免费使用7天);

2)自己做个中转(中转软件运行一定要有外网地址),然后实现文件传输前,两个传输方都登录中转,所有传输通过中转软件就可以了。

目前我只知道这两种方法,如果有第三种,也请告诉我,谢谢!

delphi 提供了 indy 组件包,其中 TIdFTP 可以实现通过以 FTP 方式进行文件的上传与下载。示例代码如下:

procedure 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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11767078.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存