求一个方案  
    局域网中 客户端上 用Delphi将文件上传到服务器,并且其他客户端能下载.
谢谢

解决方案 »

  1.   

    服务器上架个FTP,
    然后用indy的ftp组件进行传输(包括上传和下载)
      

  2.   

    上传至FTP,都使用FTP协议传输
    如果客户端不想安装多余软件的话用HTTP协议下载
      

  3.   

    走FTP就行,服务器上装一个FTP服务器,客户端程序自己写就行了。
      

  4.   

    如果连HTTP都觉得不太方便,你可以考虑NTFS权限控制的IPC共享
    如果你觉得WINDOWS的不太好用,可以使用LINUX的SUMBA,你会喜欢上SUMBA的
      

  5.   

    呵呵 SUMBA 俺都不知道是什么东东 菜啊
    我试试FTP,不过这个从来没有搞过,大虾们,能给小弟提供点源码,例子什么的么,方便学习.
    再次谢过
      

  6.   

    刚才想了一下,如果服务器是windows的话……直接开个共享
    然后在delphi里CopyFile()就是了……
    我们为什么老是往麻烦的方面想呢..........
      

  7.   

    FTP现成的服务器和客户端都很多~不需要写什么程序~
      

  8.   

    写程序 是为了用Delphi 对文件的上传和下载进行控制
      

  9.   

    用idHTTP吧,FTP自己实现比较麻烦些。特别是多线程要走弯路。
      

  10.   

    这个是IdFTP 用于下载部分的代码段,未使用多线程:function TFTPDownThread.DownLoadFile(): boolean;
    var FTP: TIdFTP;
        FStream: TMemoryStream;
    begin
       result := False;
       FTP  := TIdFTP.Create(nil);
       try
          Fstream  := TMemoryStream.Create;
          FTP.ReadTimeout  := 5000;
          FTP.Host  := FHost;//127.0.0.1
          FTP.Port  := FPort;//21
          FTP.Username  := FUserName;//Anonymous
          FTP.Password  := FPassWord;//[email protected]
          
          try         FTP.Connect();
             //使用 Passive 模式
              FTP.Passive := True;         
             FTP.Get(FRemoteFile{'/test.rar'}, FStream);
             FStream.SaveToFile ('test.rar');   //保存数据
              result  := True;
          except on E:Exception do
             begin
                FErrMsg := E.Message;
                Synchronize (DoError);
                FStream.Clear;
                FStream.Free;
             end;
          end;
       finally FreeAndNil (FTP) end;
    end;