![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2007
Сообщений: 7
|
Проблема следующая, с сервера приходит объект/набор данных в смешанном формате, сначала идут всякие заголовки и xml-кусок - потом звуковой файлик в wav-формате. нужно "вырезать" все лищнее, т е xml и прочее, и оставить только звуковой кусок. как это сделать? есть ли такая возможность? пример возвращаемого сервером набора данных ниже:
Content-Type: text/xml; charset=utf-8 Content-Transfer-Encoding: binary Content-ID: <SOAP-ENV:Envelope> <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP бла-бла-бла><SOAP-ENV:Body><ns ata><xop:Include href="cid:id1"/></ns ata></SOAP-ENV:Body></SOAP-ENV:Envelope>--==LNapH7lDHUSWE6I3PKEIWOzJjzfxl9O+z5nJOzXdmqzJgBf0X3uxhZLUT3XD== Content-Type: image/jpeg Content-Transfer-Encoding: binary Content-ID: <id1> ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ и т.д. |
|
|||||
|
а вы не можете после запрос к БД, скажем, формировать xml и высылать клиенту?
<?xml version="1.0" encoding="utf-8"?> <data> <line type='text'>Some text data</line> <line type='image'>../test.jpg</line> <line type='audio'>../test.mp3</line> </data> public var dataFormat:String = "text" Language Version : ActionScript 3.0 Player Version : Flash Player 9 Controls whether the downloaded data is received as text (URLLoaderDataFormat.TEXT), raw binary data (URLLoaderDataFormat.BINARY), or URL-encoded variables (URLLoaderDataFormat.VARIABLES). If the value of the dataFormat property is URLLoaderDataFormat.TEXT, the received data is a string containing the text of the loaded file. If the value of the dataFormat property is URLLoaderDataFormat.BINARY, the received data is a ByteArray object containing the raw binary data. If the value of the dataFormat property is URLLoaderDataFormat.VARIABLES, the received data is a URLVariables object containing the URL-encoded variables. Просто я не сталкивался с подобными проблемами. Я обычно делаю один из двух вариантов: 1. Есть картинка на сервере, а БД записана ссылка (тогда передаем xml или переменные. т.е. VARIABLES или TEXT) 2. Грузим в swf картинку, делаем копию BitmapDataой, далее кодируем BitmapData в byteArray, при помощи com.adobe.images.PNGEncoder (доступен на сайте адоба для скачки), для примера, и записываем в БД. Когда нужно, вытягиваем из БД байтики (используя BINARY). А вот как смешать - не знаю. Не пробовал. Возможно, __etc знает... Последний раз редактировалось ulik; 03.04.2008 в 13:31. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 7
|
спасибо, но в том-то и проблема, что первым вариантом воспользоваться не получится.
можно ли сделать так: вручную вырезать нужную часть приходящего ответа, методами класса String, и загрузить это дело в Sound? |
|
|||||
|
Modus ponens
|
Ну даж нинаю, а что если попробовать загрузить все URLStream"ом, найти нужный хидер, вырезать следующие за ним байты и потом loadBytes? Вот ток со звуком не уверен, что такое получится... Но картинки можно попробовать
__________________
Hell is the possibility of sanity |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
String не может содержать бинарные данные без нарушения их целостности.
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 7
|
я подозревала, что со String так дела обстоят...
то есть по сути хороших вариантов нет? |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:18. |
|
|
« Предыдущая тема | Следующая тема » |
|
|