Adobe AIR: доступ к каталогу приложений Windows

Хотя я понимаю, что Adobe не одобряет использование каталога приложений для чтения/записи, я смог успешно записать туда данные в OSX, если пользователь выбрал файл.

Однако это же приложение вызывает у меня проблемы в Windows 7. Кажется, что даже методbrowseForSave() не позволяет FileStream записывать в файл.

Есть ли обходной путь для этого?

Или, по крайней мере, кто-нибудь может подтвердить, что это работает для них? Если вы знаете, как это сделать, пример кода будет оценен по достоинству. Я пробовал несколько разных методов безрезультатно. Это для внутреннего инструмента разработки, и для наших целей в данный момент имеет смысл иметь файл в каталоге приложения, а не в хранилище приложения.


person grey    schedule 11.09.2010    source источник


Ответы (2)


Windows 7 управляет доступом приложения к собственным данным. Проще говоря, не позволит. Таким образом, AIR в настоящее время не позволяет вам делать это в любой системе из соображений согласованности. См. связанную ветку для предлагаемых альтернатив от Криса Кэмпбелла из Adobe.

person grey    schedule 15.01.2011

Хотя это действительно дешевая работа, вы можете скопировать файл из хранилища приложений в каталог приложения после записи в файл. Однако вам все равно придется записать файл в каталог хранилища приложений.

var theFile:File = new File(File.applicationStorageDirectory.nativePath).resolvePath('myfile.xml');
var theCopy:File = new File(File.applicationDirectory.nativePath).resolvePath(theFile.name);
theFile.copyTo(theCopy,true);

Затем вы можете удалить файл хранилища, если хотите.

theFile.deleteFile();
person irongamer    schedule 28.07.2011