|
Help to resolve this codes
i have an ASP web services to change byte array that given from the client and change it to a file and save it in the web server
the code is like this :
[WebMethod]
public string UploadFile(byte[] f, string fileName)
{
try
{
MemoryStream ms = new MemoryStream(f);
String path=\"/myfile/\";
String location=HttpContext.Current.Server.MapPath(path);
FileStream fs = new FileStream(HttpContext.Current.Server.MapPath(path)+fileName, FileMode.Create);
ms.WriteTo(fs);
ms.Close();
fs.Close();
return \"OK\";
}
catch (Exception ex)
{
return ex.Message.ToString();
}
}
the web services need byte array and file name..
i build the client in php
upload.php
the code is
<html> <body> <form action=\"action1.php\" method=\"post\" enctype=\"multipart/form-data\"> Pilih File Anda: <input type=\"file\" name=\"myfile\" /> <input type=\"submit\" value=\"Upload\" /> </form> </body> <html>and action1.php the code is:
<?php
require_once(\'nusoap.php\');
$client = new nusoap_client(\'http://192.168.254.160/testuploadah/FileUploader.asmx?WSDL\', \'wsdl\',\'\',\'\', \'\', \'\');
$err = $client->getError();
if ($err) {
echo \'<h2>Constructor error</h2><pre>\' . $err . \'</pre>\';
}
if(is_uploaded_file($_FILES[\'myfile\'][\'tmp_name\'])){
$uploadFile = $_FILES[\'myfile\'];
////how can read byte array of $uploadFile so i can send to web services???
////are php only can send array or string ?
$params[]->f=???????????????
$params[]->fileName=$_FILES[\'myfile\'][\'name\'];
$result = $client->call(\'UploadFile\', $params,\'\', \'\', false, true);
if ($client->fault) {
echo \'<h2>Fault</h2><pre>\';
print_r($result);
echo \'</pre>\';
} else {
//Check for errors
$err = $client->getError();
if ($err) {
//// Display the error
echo \'<h2>Error</h2><pre>\' . $err . \'</pre>\';
} else {
//// Display the result
echo \'<h2>Result</h2><pre>\';
print_r($result);
echo \'</pre>\';
}
}
}
?>
how can i Send the byte array parameter to the web services,so the web services can started???? i still can resolve this problem,the web services always return an error because i can\'t send byte array
1 Answer
You could try this:
$in_str = 'this is a test';
$hex_ary = array();
foreach (str_split($in_str) as $chr) {
$hex_ary[] = sprintf("%02X", ord($chr));
}
echo implode(' ',$hex_ary);
Posted: MacOS 0 of 0 people found this answer helpful. Did you? Yes No |
© Advanced Web Core. All rights reserved

