Уже который день бьюсь над одной и той же проблемой - передать картинку на сервер через blazeds.
Пользователь выбрал картинку

, я её успешно превратил в ByteArray и послал через rpc по blazeds на сервер.

Код AS1/AS2:
private function onComplete(e:Event):void{
var ref:FileReference = e.currentTarget as FileReference;
myconnect.saveImage(ref.data);
}
public function saveImage(bbb:ByteArray):void{
nc.call( "MyServer.saveImage", new Responder( resultUpload, faultHandler ), bbb );
}
Соответственно, на сервере встретил пришедший поезд.

Код AS1/AS2:
public static void saveImage(byte[] bytes){
Integer b=bytes.length;
tracemsg(b); // 353!!!
String s=b.toString();
}
-----------------------
public static byte[] getBytes(Object obj) throws java.io.IOException{
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
oos.flush();
oos.close();
bos.close();
byte [] data = bos.toByteArray();
return data;
}
Что получаю.. на сервере bytes имеет длинну всегда 353 байт

(хоть пустой файл посылаю хоть архив в 30 мегов) При этом если вывожу bytes.toSting() там пишут длинну обьекта:
[ASObject(12255971){position=2364.0, objectEncoding=3.0, endian=bigEndian, length=2364.0}
Чё делать?
