在Flex Air中保存文件

时间:2010-08-15 17:04:43

标签: flex sqlite air save filereference

我正在尝试使用

将我的Air应用程序中使用的SQLite文件复制到用户选定的目录中
var fileSaveDest:FileReference = new FileReference();
fileSaveDest.save(dbWorkedFile,'Inventory.DB');

dbWorkedFile是一个文件

dbWorkedFile = File.documentsDirectory.resolvePath("Inventory.db");

我试过了,但保存的文件不是有效的SQLite文件。

另外,我想知道是否可以将SQLite嵌入Air?如果是这样,我如何导入和导出数据库?

非常感谢

2 个答案:

答案 0 :(得分:1)

最后我无法使FileReference.save()工作,所以我使用常规文件的browseForSave()

dbWorkedFile.addEventListener(Event.SELECT, savingDatabase);
dbWorkedFile.browseForSave('Specify save location');

private function savingDatabase(event:Event):void
{
    var selectedFile:File = File(event.target);
    //To ensure the file is still loaded
    dbWorkedFile = File.applicationStorageDirectory.resolvePath("Inventory.db");
    dbWorkedFile.copyTo(selectedFile, true);
}

答案 1 :(得分:0)

有一个简短article描述如何在Adobe网站(cookbooks部分)的AIR应用程序中包含一些SQLite文件。