如何使用phonegap下载外部文件?

时间:2013-06-24 18:09:18

标签: javascript android cordova

我正在尝试使用phonegap在按钮上单击下载apk文件。为什么这段代码不起作用?单击“下载”时没有任何反应。有人能指出我正确的方向吗?谢谢。

<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<script charset="utf-8" src = "jquery-1.10.1.min.js"></script>
<script charset="utf-8" src = "cordova-2.7.0.js"></script>

<script>
function foo()
{
var fileTransfer = new FileTransfer();

fileTransfer.download(
    "http://samplewebsite.com/example.apk",
    "file:///sdcard/example.apk",
    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);
    }    
);
}


</script>

</head>


<body>

<button onclick="foo()">Download</button>


</body>
</html>

2 个答案:

答案 0 :(得分:2)

    var fileTransfer = new FileTransfer();
    var uri = encodeURI(url);
    var filePath= "/sdcard/directory/file.extension";
    fileTransfer.download(uri,filePath,
    function(entry) {
        //success 
    },
    function(error) {
        //failed
    }
    );

这对我有用

答案 1 :(得分:0)

您的代码运行正常。 这看起来很愚蠢,但您是否尝试在回调中使用alert()而不是console.log()?

如果您确定未调用回调代码,请尝试仅运行由phonegap'创建脚本创建的应用,并在进行其他测试之前检查设备是否准备就绪。

只是我的2c