Можно ли получить доступ к необработанным данным файла, поскольку FileReference.load () загружает их в память? - PullRequest
2 голосов
/ 08 июля 2011

Я думаю, что нет, но, возможно, я ошибаюсь.Кто-нибудь?

ОБНОВЛЕНИЕ:

Это не так.

Ответы [ 2 ]

4 голосов
/ 08 июля 2011

я думаю, что вы можете, по крайней мере, нет ничего в документах, которые утверждают иначе. попробуйте добавить ProgressEvent в объект FileReference, чтобы прочитать его data ( ByteArray ) после вызова load().

однако, если вы загружаете файл с помощью URLLoader , свойство data URLLoader заполняется только после завершения операции загрузки.


[EDIT]

так что, в конце концов, невозможно получить доступ к действующим данным fileReference во время загрузки. в документах должно быть четко указано, что это невозможно, поскольку это действительный запрос.

однако, после некоторого спотыкания в документах, я понял, что вы можете сделать это, используя класс URLStream , который предоставляет методы для чтения данных во время их загрузки - он предназначен для выполнения именно того, что вы ищете для.

единственная выгода в этом случае заключается в том, что для URLStream требуется полный путь URL (объект URLRequest), который не может быть получен из FileReference по соображениям безопасности - возможно получить только имя выбранного файла, но не полный путь , получить локальный путь к файлу в AIR очень просто, но, поскольку вы хотите, чтобы ваше приложение было устойчивым к браузеру, я не совсем уверен, как вы сможете получить доступ к путям к файлам с компьютера пользователя - если они не введут путь к файлу , но требование того, чтобы ваши пользователи сделали это, серьезно ухудшило бы UX.

0 голосов
/ 10 июля 2011

В настоящее время это невозможно ...

...