xfire + delphi 完成上传功能

本文介绍了webservice端使用FileUtil静态类获取本地文件保存路径的方法,以及Delphi端通过配置webservice进行文件上传的过程,包括文件流操作和最终的文件内容传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境: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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值