带有文件附件和PHP作为客户端的Delphi SOAP服务器
我正在寻找能够在PHP和DelphiSOAP服务器之间进行集成的解决方案。我想通过PHP SOAP客户端将一个文件发送到Delphi SOAP服务器。Delphi服务器代码将使用TSOApatachment调用,示例代码如下:-带有文件附件和PHP作为客户端的Delphi SOAP服务器,php,delphi,soap,Php,Delphi,Soap,我正在寻找能够在PHP和DelphiSOAP服务器之间进行集成的解决方案。我想通过PHP SOAP客户端将一个文件发送到Delphi SOAP服务器。Delphi服务器代码将使用TSOApatachment调用,示例代码如下:- Ttextminesvc = class(TInvokableClass, Itextminesvc) public ..... protected function UploadFile(afilename: string; afile: TSo
Ttextminesvc = class(TInvokableClass, Itextminesvc)
public
.....
protected
function UploadFile(afilename: string; afile: TSoapAttachment): Boolean;
stdcall;
.......
function Ttextminesvc.UploadFile(afilename: string; afile: TSoapAttachment): Boolean;
var ffilename: string;
const pathdir = 'C:\tmp';
begin
result := false;
ffilename := pathdir + afilename;
try
if not directoryexists(pathdir) then
ForceDirectories(pathdir);
except
raise Exception.Create('Unable to create repository directory on the server.');
end;
try
if not fileexists(ffilename) then
begin
afile.SaveToFile(ffilename);
result := true;
end;
except
result := false;
end;
end;
感谢来自另一个SO帖子的(http://stackoverflow.com/questions/3663416/php-soap-file-upload):“您可以传输任何您喜欢的数据。您只需要对二进制数据进行base64编码。它会将其转换为ascii字符。然后您可以像普通字符串变量一样传输它。您唯一需要注意的是服务器限制。”所以您实际的问题是“如何使用PHP SOAP客户端发送文件附件”?相关:。关于这一点,谷歌做了一个简短的调查,表明如果不为PHP开发自己的SOAP客户端,这是不可能的,但我很高兴在这一点上被证明是错误的。是的,使用PHP向Delphi SOAP服务器发送一个文件。我在使用函数UploadFile(afilename:string;afile:tsoapatachment)时遇到问题。如何在PHP中处理TSoapAttachment?这表明它可以用NuSOAP来完成:-我现在读到的关于这个主题的许多帖子的普遍共识似乎是,它不能用PHP原生SOAP客户端来完成。