3
我必须从我的PHP客户端发送一个字节数组(编码照片)到WCF主机。当我在我的PHP数组上做var_dump()时,我得到一个数组[2839],但是在服务器端,当我调试我看到接收数组只有字节[5] ...任何想法如何我可以修复它?从PHP发送一个字节数组到WCF
我用这样的代码
$file = file_get_contents($_FILES['Filedata']['tmp_name']);
$byteArr = str_split($file);
foreach ($byteArr as $key=>$val) { $byteArr[$key] = ord($val); }
$client = new SoapClient('http://localhost:8000/MgrService?wsdl',
array(
'location' => 'http://localhost:8000/MgrService/SOAP11',
'trace' => true,
'soap_version' => SOAP_1_1
));
$par1->profileId = 13;
$par1->photo = $byteArr;
$client->TestByte($par1);
正如我的WCF主机上之前写我只得到字节[5]:/也许它需要一些解码向右肥皂连载?我应该使用Base64解码还是什么?
一般我只是想发布的文件上传到C#函数的byte []作为参数:/帮助
哦,这个功能的WSDL部分看起来像这样
<xs:element name="TestByte">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="photo" nillable="true" type="xs:base64Binary"/>
</xs:sequence>
</xs:complexType>
</xs:element>
你能否提供一些示例代码? 现在我的出发点是我有$ _FILES ['Filedata'],我已经尝试了许多不同的方法:/ – shin 2010-06-06 22:54:04
@shin通过'$ _FILES ['Filedata']'不变。 – Artefacto 2010-06-06 22:58:56
@shin我的意思是传递'file_get_contents($ _ FILES ['Filedata'] ['tmp_name'])'不变。 – Artefacto 2010-06-06 23:06:47