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

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

ОБНОВИТЬ:

Это не.

2 ответа

Решение

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

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


[РЕДАКТИРОВАТЬ]

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

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

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

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

Другие вопросы по тегам