xfire + delphi 完成上传功能

环境:FileUtil静态类(自己定义,用于获取本地文件保存的路径) 

1.webservice端 upLoadFile(File file)方法

public boolean upLoadFile(File file) {

String folder = FileUtil.getFileFolder();   //获取路径

FileOutputStream fo = null;

try {

fo = new FileOutputStream(folder + file.getFileName());     //获取文件流

          fo.write(file.getFileContent());

fo.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

return false;

} catch (IOException e) {

e.printStackTrace();

return false;

} finally {

try {

fo.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return true;

}

 

2. delphi端  webservice的配置部分省略,可到别以前文档中找。FileOperatePortType为生成的webservice文件。

procedure TForm1.bsSkinButton1Click(Sender: TObject);

var

  foperate : FileOperatePortType;

  fileObj : file_;

  temp : TByteDynArray;

  var F : file;

      size:integer;

      buf : pchar ;

      tleft:integer;

begin

    if bsSkinOpenDialog1.Execute then

    begin

      fileObj := file_.Create;

      bsSkinStdLabel1.Caption :=  ExtractFileName(bsSkinOpenDialog1.FileName);

      fileObj.fileName := ExtractFileName(bsSkinOpenDialog1.FileName);

      assignfile(F, bsSkinOpenDialog1.FileName);

      reset(f, 1);

      try

        size:=FileSize(F);

        getmem(buf, size+1);

        BlockRead(F, buf^, size);

        buf[size]:=#0;

      finally

        closefile(f);

      end;

     setLength(temp, size);

      Move(buf[0], temp[0], size);    // 此处的数组下标值有待研究

      fileObj.fileContent := temp;

      foperate := GetFileOperatePortType();

      foperate.upLoadFile(fileObj);

    end;

end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值