Как разобрать XML из Rails во Flex - PullRequest
0 голосов
/ 27 июля 2010

Я хочу загрузить файл (фотографию) из Flex в Rails, а затем отправить ответ обратно на сервер в формате XML (содержит URL-адрес фотографии и идентификатор).Я отправляю с моего сервера Rails какой-то XML-код следующим образом:

render(:xml => {:id => @photo.id, 
                :photoURL => @photo.URL, 
                :thumbPhotoURL => @photo.thumbURL})

Это отправляется через объект FileReference через fileReference.upload ()

Я пытаюсь отобразить его в полном обработчике:

fileReference.addEventListener(Event.COMPLETE,function(event:Event):void {
                    var xml:XML = new XML(event.target.data);
                    ......

похоже, он не обрабатывает XML должным образом.Я использовал подобный код ранее с URLLoader, и он работал.Есть идеи?

Ответы [ 2 ]

1 голос
/ 28 июля 2010

Могу я спросить, почему вы конвертируете данные в ByteArray?URLLoader на самом деле обладает замечательным свойством dataFormat , которое можно использовать для указания способа, которым Flash будет обрабатывать загрузку.Вы можете выбирать между двоичными , текстовыми или переменными в кодировке URL .

Как сказал Амаргош, вам, вероятно, лучше использовать URLLoaderдля работы с XML.

1 голос
/ 27 июля 2010

FileReference - для передачи файлов между жестким диском пользователя и сервером - функция upload() предназначена для отправки файла с компьютера пользователя на сервер.

Используйте URLLoader для загрузки xml с сервера в ваше гибкое приложение

var ldr:URLLoader = new URLLoader();
ldr.addEventListener(Event.COMPLETE, onLoad);
ldr.load(new URLRequest(url));

function onLoad(e:Event):void
{
  var loadedText:String = URLLoader(e.target).data;
  trace(loadedText);
  var xml:XML = new XML(loadedText);
  trace(xml.toXMLString());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...