View Single Post
Old 02-16-2011, 10:34 AM   PM User | #2
Stooshie
Regular Coder

 
Stooshie's Avatar
 
Join Date: Mar 2008
Location: Dundee, Scotland
Posts: 376
Thanks: 9
Thanked 39 Times in 39 Posts
Stooshie is on a distinguished road
Smile Solution, of sorts!

I managed to fix this by changing the web service to accept base64Binary. If anyone is interested, here is the php to do this, using the nusoap PEAR extension.

Register the service
PHP Code:
    $server->register("UploadFile",
        array(
            
"bytes" => "xsd:base64Binary"
            
"cp_id" => "xsd:string""filename" => "xsd:string"
        
),
        array(
"return" => "xsd:boolean"),
        
$ns,
        
"$ns#UploadFile",
        
"rpc",
        
"encoded",
        
"Upload a File"
    
); 
Implement the service
PHP Code:
    function UploadFile($bytes$folder_path$filename)
    {
        global 
$path_to_html;
        
$file_path $path_to_html.$folder_path."/".$filename;
        
$fp fopen($file_path"w");
        if( 
is_array($bytes) )
        {
            foreach(
$bytes as $k => $v)
            {
                
fwrite($fp$v);
            }
        }
        else
        {
            
fwrite($fp$bytes);
        }
        
fclose($fp);
        return 
true;
    } 
I have posted this code in case it helps someone else although I am still not sure how to convert a ByteArray to an ArrayCollection in Flex.
__________________
Regards, Stooshie
O
Stooshie is offline   Reply With Quote