我有一个需要参数类型为“xs:base64Binary”的web服务 - 这是一个存储在数据库中的文件。PHP需要使用需要xs的webservice:base64Binary
我想使用PHP 5的本地web服务类的服务。我试过几件事:
// Get the posted file
$file = file_get_contents($_FILES['Filedata']['tmp_name']);
// Add the file, encoding it as a base64
$parameters = array("fileBytes" => base64_encode($file));
// Call the webservice
$response = $client->attachFile($parameters);
结果是错误说“错误的请求”。如果该文件是一个文本文件,我不base64_encode,它工作正常。发布二进制文件(如图像)时出现问题结果。
任何人都知道这里的诡计?
编辑1
也存在问题是,如果我编码的文本文件,它似乎工作,但当然它的编码,再最终被垃圾一旦下载并观看(即文本进行编码并没有按似乎不会被服务器解码)。
是的,做了转储,我看到$文件已设置。另外,它可以很好地处理非二进制文件... – bugfixr 2009-12-15 00:54:59