xfire + delphi 完成上传功能
发布日期:2021-11-04 22:03:52 浏览次数:3 分类:技术文章

本文共 1344 字,大约阅读时间需要 4 分钟。

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

转载地址:https://blog.csdn.net/xiaochangwei789/article/details/7693109 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:xfire + myeclipse 6 出现的莫名奇妙的问题
下一篇:Xfire + srping 整合时出现的问题

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月20日 04时38分33秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章