Cordova - 将zip文件下载到应用程序

时间:2014-06-16 02:53:36

标签: android ios cordova zip

我正在为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中。

3 个答案:

答案 0 :(得分:0)

  1. 将var uri更改为您的服务器地址,例如在localhost

  2. 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" />

没有此权限的下载将不会成功