下载后,读取phonegap项目文件夹中的文件

时间:2015-12-22 16:19:52

标签: javascript cordova

我在一个phonegap项目上工作,我遇到了以下问题:

当我在运行应用程序的应用程序(www / FOLDER)的任何文件夹中添加新文件时,我的文件无法通过HTTP访问。访问它(例如在localhost:8000 / uploads / FILE上)会返回404错误。

我必须重新编译cordova,然后才能访问该文件。

如何在不重新编译的情况下让应用程序识别文件?

PS:我使用Cordova传输插件来下载我想稍后访问的文件。 我的代码:

window.webkitRequestFileSystem(window.PERSISTENT, 0, function(fs){

        var fileTransfer = new FileTransfer(); 
        var uri = encodeURI("http://localhost:8080/findcare/api/users/offline?uploads=true"); //generate zip file
        var filename = uri.split("/").pop(); 
        var filePath = fs.root.fullPath() + 'uploads.zip'; //I'm not sure

        fileTransfer.download(
            uri,
            filePath,
            function(entry) {
                console.log("download complete: " + entry.toURL());
            },
            function(error) {
                console.log(error);
                console.log("download error source " + error.source);
                console.log("download error target " + error.target);
                console.log("upload error code " + error.code);
            },
            false,
            {
                withCredentials:true
            }  
        );


    }, function(e){console.log(e);});

1 个答案:

答案 0 :(得分:0)

在phonegap中,每个平台都有单独的文件夹(iosandroid,...)。无论何时编译,phonegap都会将所有原始文件复制到每个平台的相应文件夹中。

如果您需要立即查看更改,我建议您使用Ionic。它建立在phonegap之上,提供更多功能。您可以运行ionic serve,它将启动一个Web服务器来在浏览器中提供您的内容。无论何时更改文件,它都会自动重启Web服务器以显示项目的最新版本。

此外,如果您想在您的设备上进行开发而不想每次都进行编译,那么在开发阶段,您可以使用ionic run --device --livereload。它会将应用程序安装到连接的设备中,并在您像浏览器一样更改文件时刷新它。