내 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#을 기능에 게시 된 파일을 업로드하려면 [] 매개 변수로 :/도움말
아, 그리고이 함수의 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
@shin'$ _FILES [ 'Filedata']'를 변경하지 않았습니다. – Artefacto
@shin 나는'file_get_contents ($ _ FILES [ 'Filedata'] [ 'tmp_name'])'을 변경하지 않았다. – Artefacto