我刚注意到我的应用中有些奇怪。
我有一个“保存”按钮,可以触发此功能:
var saveFile:File = File.desktopDirectory.resolvePath(nameOfProject+".uct");
saveFile.browseForSave("Save as");
saveFile.addEventListener(Event.SELECT, saveFileToSystem);
单击时,将显示“浏览以保存”窗口,其中包含建议的名称文件。 现在我注意到,在导出,安装和运行应用程序时,当我第一次单击按钮时,一切正常,但是当我再次单击时,位置看起来像这样:
“where”字段是同一个文件....?即使我点击保存,它也不会保存。奇怪的是,在Flash Builder中测试我的应用程序时没有发生这种情况。 任何提示?
答案 0 :(得分:0)
我做了上面的解决方法,似乎可以解决这个问题。代码是这样的:
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");
// MUST be sure to call saveFile.browseForSave, or you risk losing an existing file.
您可以将此批次包装在Air运行时(NativeApplication.nativeApplication.runtimeVersion)和Mac-only的检查中,以避免执行此操作。
另外,如果您的文件保存代码可能依赖于对现有文件进行更改(而不是创建一个全新的文件),则需要稍微调整一下。