楼主,你的愿望是美好的,不过估计要落空如果你碰到具体的问题,我想大家都会帮助你。就算你换成200RMB也没兴趣的哦。

解决方案 »

  1.   

    服务端代码
    public String getFile(String filename){
    String ret=new String();
    File f=new File(dir+"\\"+filename);
    byte buff[]=new byte[(int)f.length()]; 

    try {
    InputStream in = new FileInputStream(f);
    in.read(buff);
    ret=new sun.misc.BASE64Encoder().encode(buff); //具体的编码方法
    in.close();
    } catch (FileNotFoundException e) {

    e.printStackTrace();
    } catch (IOException e) {

    e.printStackTrace();
    }       return ret;
        }
    ---------------------------------------------------------------------------
    客户端代码procedure TForm1.TntButton3Click(Sender: TObject);
    var
      s:WideString;
      ts:TestService;
      a:string;
      ASS:TStringStream;
      AMS:TMemoryStream;
    begin
      ts:=HTTPRIO1 as TestService;
      s:=ts.getFile(filename);
      ASS:=TStringStream.Create(s);
      AMS:=TMemoryStream.Create;
      DecodeStream(ASS,AMS);
      AMS.SaveToFile(savefilename);  ASS.Free;
      AMS.Free;
    end;
      

  2.   

    对了,之所以用BASE64Encoder编码 就是因为XML文件通常都是UTF-8编码,而Delphi从骨子里又不根本上支持UNICODE,所以对XML文件传递很容易出现问题,当然,我是说DELPHI的VCL对UNICODE支持的很差,并不是意味着Delphi中的XML控件也这样。
      

  3.   

    我是这样做的,客户端用CDS来传递数据,然后在服务端把客户端传过来的XML解释成DOM,
    然后再进行数据处理,处理完毕后再转化成CDS能识别的xml格式
      

  4.   

    客户端的DecodeStream里面的内容是怎么写的呀?