我有一个Web服务,它需要一个类型为“xs:base64Binary”的参数——这是一个存储在数据库中的文件。
// 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_编码,那么它可以正常工作。发布二进制文件(如图像)时会出现问题。
有人知道这里的诀窍吗?
编辑1
还有一个问题是,如果我对文本文件进行编码,它似乎可以工作,但当然它是经过编码的,一旦下载并再次查看,它就会变成垃圾文件(即,文本是经过编码的,服务器似乎不会对其进行反编码)。