本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!