我做了上面的变通方法,它似乎奏效了。代码是这样的:
var saveFile:File = File.documentsDirectory.resolvePath("output.file");
var tempMovedAway:File = File.applicationStorageDirectory.resolvePath("temp.temp");
currentFileRenamedForAirBug = picker.clone();
currentFileRenamedForAirBug.moveTo(tempMovedAway), true);
saveFile.addEventListener(Event.SELECT, function():void {
tempMovedAway.deleteFile();
} );
saveFile.addEventListener(Event.CANCEL, function():void {
tempMovedAway.moveTo(currentFileRenamedForAirBug);
});
saveFile.browseForSave("save file");
您可以将这一批代码封装在仅针对Air运行时(NativeApplication.natuteApplication.runtimeVersion)和Mac的检查中,以避免在必要时执行任何操作。
此外,如果您的文件保存代码可能依赖于对现有文件进行更改(而不是创建一个全新的文件),则需要对此进行一些调整。