我在一个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);});
答案 0 :(得分:0)
在phonegap中,每个平台都有单独的文件夹(ios
,android
,...)。无论何时编译,phonegap都会将所有原始文件复制到每个平台的相应文件夹中。
如果您需要立即查看更改,我建议您使用Ionic。它建立在phonegap之上,提供更多功能。您可以运行ionic serve
,它将启动一个Web服务器来在浏览器中提供您的内容。无论何时更改文件,它都会自动重启Web服务器以显示项目的最新版本。
此外,如果您想在您的设备上进行开发而不想每次都进行编译,那么在开发阶段,您可以使用ionic run --device --livereload
。它会将应用程序安装到连接的设备中,并在您像浏览器一样更改文件时刷新它。