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

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

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

Регистрация: Apr 2006
Сообщений: 85
По умолчанию Получить картинку из DataEvent.data

Здравствуйте.

Ситуация такая:
На сервер грузится картинка, в ответ сервер возвращает ее же.
Я слушаю событие DataEvent.UPLOAD_COMPLETE_DATA.
У этого события есть св-во data типа String.
Код AS3:
private function uploadCompleteHandler (event : DataEvent) : void {
  var data : String = event.data;
  ...
}
Дальше, чтобы получить картинку, надо вызвать
Код AS3:
var loader : Loader = new Loader ();
loader.loadBytes (byteArray);
Вопрос у меня такой: как перегнать св-во DataEvent.data типа String в byteArray?

Спасибо.

Старый 27.11.2008, 00:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А с чего вы взяли, что event.data содержит картинку? Или ваш скрипт её возвращает? Если возвращает, то надо делать, чтобы возвращал ссылку на загруженную картинку.

Старый 27.11.2008, 01:03
chudesno вне форума Посмотреть профиль Отправить личное сообщение для chudesno Найти все сообщения от chudesno
  № 3  
Ответить с цитированием
chudesno
 
Аватар для chudesno

Регистрация: Apr 2006
Сообщений: 85
Да, вы правы, серверный скрипт возвращает именно саму картинку.
Действительно, ссылку было бы удобно. Хотя в этом случае интересует именно возможность получить картинку таким способом.
Начет того, что в data - именно картинка не уверен, попробую проверить по размеру.

Старый 27.11.2008, 18:07
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 4  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Насчёт перекодировки — попробуйте

Код AS3:
ByteArray.writeMultiByte(value:String, charSet:String):void

Старый 27.11.2008, 21:16
ZlPredator вне форума Посмотреть профиль Отправить личное сообщение для ZlPredator Найти все сообщения от ZlPredator
  № 5  
Ответить с цитированием
ZlPredator

Регистрация: Nov 2008
Сообщений: 65
Ситуация не совсем понятная
Если вы используете XMLSocket, то DataEvent.UPLOAD_COMPLETE_DATA будет вызываться на каждый полученный блок данных. Каждый блок - это UTF8 строка, заканчивающаяся нулевым байтом. Если просто попробовать передать бинарные данные, то неизвестно чем это вообще закончится и проблема далеко не в перекодировании String в ByteArray. Если вы все таки хотите использовать данным образом, то необходимо придумать какую нить оболочку для данных (например, перегнать их в base64 на сервере), после чего передать, добавив нулевой байт в конец, а на флеше декодировать из текста (разобрав тот же base64) и записать результат в ByteArray.
Проще все таки передавать ссылку...

Старый 27.11.2008, 22:03
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 6  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Естественно, я подраузмевал, что при передаче строкой данные нужно как-нибудь обернуть. Иначе будут проблемы с кодировками.

Старый 28.11.2008, 00:14
chudesno вне форума Посмотреть профиль Отправить личное сообщение для chudesno Найти все сообщения от chudesno
  № 7  
Ответить с цитированием
chudesno
 
Аватар для chudesno

Регистрация: Apr 2006
Сообщений: 85
Я использую FileReference.

С сервера уходит картинка, у меня есть какая-то строка, производная от этой картинки. Пробовал для разных файлов, строка всегда длинной в 8 символов приходит.. Видимо это часть картинки до первого нулевого байта.
Наверное, без манипуляций с сервером не обойтись =)

Всем спасибо за ответы!

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

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

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


 


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


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