Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.02.2010, 00:44
micromacro вне форума Посмотреть профиль Отправить личное сообщение для micromacro Найти все сообщения от micromacro
  № 1  
Ответить с цитированием
micromacro

Регистрация: Apr 2009
Сообщений: 56
По умолчанию blazeds послал байтэрей на сервер... как прочитать?

Уже который день бьюсь над одной и той же проблемой - передать картинку на сервер через 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}

Чё делать?


Последний раз редактировалось micromacro; 07.02.2010 в 00:46.
Старый 07.02.2010, 02:08
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 2  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Может быть проблема с MTU? То есть максимальный размер пакета составляет 353 байта (бред, конечно, но...) - попробуйте распилить ByteArray на части по 352 байта и отправить в n подходов. Посмотрите что получится.

PS
Сам сталкивался, но, правда, делал под PPP-соединение, там побольше размер пакета.
__________________
...вселенская грусть

Старый 07.02.2010, 02:25
micromacro вне форума Посмотреть профиль Отправить личное сообщение для micromacro Найти все сообщения от micromacro
  № 3  
Ответить с цитированием
micromacro

Регистрация: Apr 2009
Сообщений: 56
353 получаю даже если пустой байтэрей отправляю. У меня такое подозрение,

1) либо я не всё отправляю (неуспело догрузится)
2) либо флекс просто не передаёт байтэрей (стринги передаются на ура)
3) либо джава не может закастить обжект то byte[]

И уже подумав немного... наверно 2 вариант...

Старый 07.02.2010, 12:49
murz вне форума Посмотреть профиль Отправить личное сообщение для murz Найти все сообщения от murz
  № 4  
Ответить с цитированием
murz
[+1 10.12.10]

Регистрация: Feb 2006
Сообщений: 148
Отправить сообщение для murz с помощью ICQ
http://forum.springsource.org/showthread.php?t=81104
Посмотрите пример по ссылке

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.