Флэш записать ByteArray в файл на диске

Мне нужно записать ByteArray в файл на локальном диске с Flash AS3. Flashhapplication запускается локально (это exe-проектор).

Я нашел класс FileReference с функцией save(), которая прекрасно работает. Единственная проблема заключается в том, что эта функция открывает браузер файлов и позволяет пользователю выбрать, где хранить файл. Тем не менее - у меня уже есть путь в виде строки, и мне нужно сохранить его в этом месте без необходимости извлечения (поскольку я экспортирую много файлов в этот каталог за один раз и не хочу, чтобы пользователь выбирал каждый из них вручную).

Есть ли способ сохранить байтовый массив с проектора на локальный диск, не открывая браузер файлов?

Я также использую mdm Zinc, который фактически предоставляет функцию для сохранения ByteArray на диск, но по неизвестным причинам эта функция не работает. Я уже подал отчет об ошибке, но мне нужно срочно заставить это работать, поэтому я ищу альтернативы!

Спасибо!

2 ответа

Отмечая, что вы запускаете приложение как.exe, я предполагаю, что вы используете какой-то вариант AIR и имеете разрешение безопасности для доступа к файловой системе. Вы должны взглянуть на класс FileStream. Вот очень простой пример того, как я использовал его для записи ByteArray в жестко запрограммированную папку.

var fs : FileStream = new FileStream();
var targetFile : File = File.desktopDirectory.resolvePath("test.raw");
fs.open(targetFile, FileMode.WRITE);
fs.writeBytes(myByteArray,0,myByteArray.length);
fs.close();

Если все, что вам нужно, это настойчивость (вы читаете то, что пишете), вы можете взглянуть на SharedObject.

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