Сбой приведения к типу: не удается преобразовать flash.net::FileReference@34f1d99 в org.restfulx.utils.RxFileReference

#ruby-on-rails #actionscript-3

#ruby-on-rails #actionscript-3

Вопрос:

Я узнаю о работе с вложениями модели RestfulX, перейдя по этой ссылкеhttp://dima.github.com/2009/03/19/working-with-restfulx-model-attachments.html

Но я получил ошибку, когда нажал, чтобы прикрепить файл.

Ошибка типа #1034: сбой принудительного ввода: не удается преобразовать flash.net::FileReference@34f1d99 в org.restfulx.utils.RxFileReference. в rxmodelattachments.components.generated::ContactBox/fileSelected()[C:DataWorkspacerx_model_attachmentssrcrxmodelattachmentscomponentsgeneratedContactBox.mxml:88 ] в rxmodelattachments.components.generated::ContactBox/selectFile()[C:DataWorkspacerx_model_attachmentssrcrxmodelattachmentscomponentsgeneratedContactBox.mxml:80]

Я думаю, из-за RxFileReference в этих строках кода

частный файл var:RxFileReference; частная функция chooseFile():void { file = новая ссылка RxFileReference(«аватар»); файл.ссылка.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, true); файл.ссылка.addEventListener (событие.ВЫБЕРИТЕ, selectFile, false, 0, true); файл.ссылка.addEventListener (событие.ОТМЕНА, cancelBrowse, false, 0, true); файл.reference.browse(); }

P.S. по ссылке вы увидите, что они используют file.addEventListener, что невозможно. Поскольку в RxFileReference нет метода addEventListener. Поэтому мне нужно использовать .reference, чтобы разрешить мне использовать метод addEventListener. Как решить эту проблему. Спасибо.

Ответ №1:

Я думаю, у вас не обновлена функция chooseFile

Вы используете

 file.reference.addEventListener(..);
  

в то время как ссылка имеет

 file.addEventListener(..);
  

Полная функция приведена по ссылке, указанной в вопросе

 private function chooseFile():void {
      file = new RxFileReference("avatar");
      file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, true);
      file.addEventListener(Event.SELECT, selectFile, false, 0, true);
      file.addEventListener(Event.CANCEL, cancelBrowse, false, 0, true);
      file.browse();
    }
  

Надеется, что это поможет

Комментарии:

1. Ах, да.. На самом деле, если я напрямую использую в качестве ссылки. Возникает ошибка, из-за которой отсутствует метод addEventListener. Итак, мне нужно поместить .reference в use .addEventListener

2. я думаю, вам нужно получить последнюю версию библиотеки, если все еще не работает! исправьте ошибку на этой стороне, потому что, по крайней мере, пример должен работать как есть.