Phonegap构建简单的文件下载

时间:2012-07-31 08:44:48

标签: android ios cordova download

我构建的纯html PhoneGap应用程序在Android上运行良好。它有下载大型视频文件的链接。简单的直接链接。但是它不能在iPhone或iOS上下载。他们的浏览器不支持文件下载。它试图播放和口吃然后停止。

我需要非常简单的功能或代码才能在iOS上下载文件。

我没有phonegap js或任何js,但如果需要我可以包括。仅使用html和config.xml。 我使用PhoneGap Build从html / css创建应用程序。 谢谢!

1 个答案:

答案 0 :(得分:1)

要下载文件(来自phonegap doc的代码段):

var fileTransfer = new FileTransfer();
var uri = encodeURI("http://some.server.com/download.php");

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

第一个参数是您要从中下载的网址,最后两个是成功和错误回调。第二个是您要存储文件的完整路径,包括文件名和扩展名。要获取对应用程序根目录的引用:

function gotFS(fileSystem) {
    console.log("got filesystem");
    // save the file system for later access
    console.log(fileSystem.root.fullPath);
    window.rootFS = fileSystem.root;
}

document.addEventListener('deviceready', function() {
    window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}, false);

因此,如果您正在下载名为“video.avi”的视频并希望将其存储在app根文件夹中,那么您传递给下载metod的filePath变量将是这样的:

var filePath = rootFS.fullPath+'/video.avi';

希望这有帮助