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