我正在为Android,iOS,Windows Phone 8和Windows 8构建Cordova应用程序。 我想从服务器或云端服务下载zip文件,例如Google Drive,Dropbox或其他。 我的版本是3.3.0。 我测试了一个文档,但没有任何反应。此外,搜索其他一些网站,但没有人工作。
var fileTransfer = new FileTransfer();
var uri = encodeURI("http://some.server.com/1.zip");
var fileurl= "\assets\www\data\1.zip";
fileTransfer.download(
uri,
fileURL,
function(entry) {
console.log("download complete: " + entry.toURL());
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code" + error.code);
},
false,
{
headers: {
"Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
}
}
);
请帮助我改变或做什么。另外,我想询问路径是否在iOS,Windows Phone和Windows 8中。
答案 0 :(得分:0)
将var uri更改为您的服务器地址,例如在localhost
var fileurl = encodeURI(" cdvfile://localhost/persistent/1.zip");
答案 1 :(得分:0)
function downloadFile() {
var fileTransfer = new FileTransfer();var uri =
encodeURI("http://yourserver/yourzip.zip");
var fileURL = "///storage/emulated/0/localstorage/zipfile.zip";
fileTransfer.download(
uri, fileURL, function(entry) {
console.log("download complete: " + entry.toURL());
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("download error code" + error.code);
},
false, {
headers: {
"Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
}
}
);
}
答案 2 :(得分:0)
downloader.init({ folder: 'DownloadedData', fileSystem: cordova.file.externalDataDirectory,unzip: true});
downloader.get("path of your server");
document.addEventListener('DOWNLOADER_downloadSuccess', function (event) {
var data = event.data;
alert("successfully downloaded");
});
在config.xml中添加以下权限,以获得对设备存储的访问权限
<preference name="AndroidPersistentFileLocation" value="Internal" />
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,root" />
没有此权限的下载将不会成功