флэш записать ByteArray в файл на диске - PullRequest
1 голос
/ 17 ноября 2009

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

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

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

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

Спасибо!

Ответы [ 2 ]

6 голосов
/ 25 июня 2013

Отмечая, что вы запускаете свое приложение как .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();
1 голос
/ 17 ноября 2009

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

...