如何使用HTML5 File API的getfile()获取本地文件?

时间:2015-06-03 05:13:36

标签: javascript html5 cordova fileapi

我正在开发适用于Windows 8的Cordova应用,并尝试使用HTML5文件API获取文件并将其复制到另一个目标。

我的www文件夹中有一个名为db的文件夹中的本地文件。我的javascript文件位于www/js文件夹中。

我正在使用此代码创建requestFileSystem()的实例:

window.requestFileSystem(window.TEMPORARY, 2 * 1024 * 1024, initFS, errorHandler);

function initFS(fs) {
    console.log('woot!');
}
function errorHandler(err) {
    console.log(err.code);
}

在我的initFS函数中我需要获取我的文件,测试它是否存在于目的地,如果它不存在则复制文件。我想创建一个copyFile函数并将其从“目录”,文件和目标

传递给它
window.requestFileSystem(window.TEMPORARY, 2 * 1024 * 1024, initFS, errorHandler);

    function initFS(fs) {
        var fromLocation = [local db directory];
        var myFile = [file stored in the local db directory];
        var toLocation = [destination to copy to];
        copyFile(fromLocation, myFile, toLocation);
    }

    function errorHandler(err) {
        console.log(err.code);
    }

    function copyFile(fromLoc, src, toLoc){
        //copy the file to the new location
    }

我读过的所有例子都谈到了如何创建和操作文件,但没有谈论操纵已经存在的文件。

1 个答案:

答案 0 :(得分:0)

我解决此问题的方法是使用Cordova SQLite Storage插件运行SQLite语句,以检查表是否存在。如果没有,则创建一个表并运行一组插入。如果表确实存在,则不会发生任何事情。

如果不存在db,open db语句将始终创建db。如果数据库存在,则不会被覆盖。