Have an account? Sign in
Login  Register  Facebook
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
Started: September 17, 2011 Latest Activity: September 17, 2011 php upload asp
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
In: September 17, 2011

Your Answer

xDo you want to answer this question? Please login or create an account to post your answer