如何在Android上使用FileTransfer.download

时间:2012-08-27 09:45:34

标签: android cordova file-transfer

我在Android上使用Phonegap 1.9.0,但网上的样本很少,所以我担心下载文件。

var ft = new FileTransfer();
ft.download(
    "http://www.something.com/test.zip",
    "test.zip", // <- Trouble 1
    function(entry) {
        alert("success");
    },
    function(err) {
        alert(err); // <- Trouble 2
    }
);

1.我不明白指定适合此参数的文件路径的方法。我该如何指定本地路径?或者是否有任何必需的Android.permission?
2.显示消息“未找到类”。这是什么原因?
3.下载文件的本机Java路径是什么?

3 个答案:

答案 0 :(得分:1)

是的,Cordova / Phonegap文档非常精简真实世界的例子!

  1. Simon Mac唐纳德有一篇关于下载的好文章:http://simonmacdonald.blogspot.co.uk/2012/04/sorry-for-being-gone-so-long-vacation.html 如果您想下载多个文件,请查看他的要点:https://gist.github.com/3835045

  2. 我认为FileTransfer仅在设备上可用(可能是模拟器?),但我也在浏览器中出现此错误 - 也许其他人可以为此解释/解决方法。

  3. 这取决于平台,但可以使用FileSystem.root.fullPath找到它。如果要附加文件名,则需要添加斜杠。

答案 1 :(得分:1)

// This worked for me
var ft = new FileTransfer();
ft.download(
  "http://www.something.com/test.zip", // what u download
  "/sdcard/test.zip", // this is the filename as well complete url
  // fileSystem.root.toURL() + "test.zip",  use ios and others
  function(entry) {
    alert("success");
    alert(JSON.stringify(entry));

  },
  function(err) {
    alert(err);
    alert(JSON.stringify(err));
  }
);

您可以在ADT Eclipse DDMS Perspective中检查目录结构 - &gt;文件资源管理器

答案 2 :(得分:0)

var ft = new FileTransfer();
ft.download(
    "http://www.something.com/test.zip", // what u download
    "", // this is dir which u download, right now, it will download to mnt/sdcard/
    function(entry) {
        alert("success");
    },
    function(err) {
        alert(err); 
    }
);