从url下载文件到cordova应用程序错误

tal*_*_jp 4 android download cordova

我正在做一个需要从我的站点下载的图像,并将它们存储在手机中的应用程序,但是当我尝试的PhoneGap显示我的所有可能发生的错误.我该怎么做才能纠正这个= /?

var fileTransfer = new FileTransfer();
fileTransfer.download(
    "http://developer.android.com/assets/images/home/ics-android.png",
    "/",
    function(entry) {
        alert("download complete: " + entry.fullPath);
    },
    function(error) {
        alert("download error source " + error.source);
        alert("download error target " + error.target);
        alert("upload error code" + error.code);
    });
Run Code Online (Sandbox Code Playgroud)

显示的错误是:

Download error source " the url used"
download error target: " the target used  "
upload error code 1
Run Code Online (Sandbox Code Playgroud)

我正在使用cordova 2.2.0

这是logcat错误日志:

 12-06 09:07:26.413: E/FileTransfer(2186): {"target":"\/","source":"http:\/\/developer.android.com\/assets\/images\/home\/ics-android.png","code":1}
12-06 09:07:26.413: E/FileTransfer(2186): java.io.FileNotFoundException
12-06 09:07:26.413: E/FileTransfer(2186):   at org.apache.cordova.FileTransfer.getFileFromPath(FileTransfer.java:794)
12-06 09:07:26.413: E/FileTransfer(2186):   at org.apache.cordova.FileTransfer.access$700(FileTransfer.java:62)
12-06 09:07:26.413: E/FileTransfer(2186):   at org.apache.cordova.FileTransfer$4.run(FileTransfer.java:631)
12-06 09:07:26.413: E/FileTransfer(2186):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
12-06 09:07:26.413: E/FileTransfer(2186):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
12-06 09:07:26.413: E/FileTransfer(2186):   at java.lang.Thread.run(Thread.java:856)
Run Code Online (Sandbox Code Playgroud)

Sim*_*ald 8

你是如此接近,这只是你的目标文件是错误的.尝试:

var fileTransfer = new FileTransfer();
fileTransfer.download(
    "http://developer.android.com/assets/images/home/ics-android.png",
    "file://sdcard/ics-android.png",
    function(entry) {
        alert("download complete: " + entry.fullPath);
    },
    function(error) {
        alert("download error source " + error.source);
        alert("download error target " + error.target);
        alert("upload error code" + error.code);
    });
Run Code Online (Sandbox Code Playgroud)

您需要"file://"前缀,因为您没有权限,所以无法保存为"/".