Phonegap Filetransfer下载

时间:2014-06-09 14:47:50

标签: javascript android ios cordova file-transfer

我是stackoverflow的新手。这是我第一次使用Phonegap而且我遇到了问题。我需要创建一个表,然后通过单击每个元素开始下载pdf文件并创建一个新文件夹(如果它不存在)。但是在使用phonegap编译后我甚至无法下载文件。我看到的所有例子,只需通过onload下载图像。

<script type="text/javascript">
function downloadFile(){
 var url = 'http://http://legalespymes.com.ar/legalespymes/abonos/aseguradoras.pdf';
    var filePath = 'local/path/to/your/file';
    var fileTransfer = new FileTransfer();
    var uri = encodeURI(url);
    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);
        },
        false,
        {
            headers: {
                "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
            }
        }
    );
}
</script>

HTML

<td onclick="downloadFile()">Row 1</td>

1 个答案:

答案 0 :(得分:0)

首先,您的网址无效多次包含http

var url = 'http://http://legalespymes.com.ar/legalespymes/abonos/aseguradoras.pdf';

像这样改变

var url = 'http://legalespymes.com.ar/legalespymes/abonos/aseguradoras.pdf';

如果您在该目录中创建多个目录和存储文件,则可能会产生问题。(示例[project / sample / local]未创建同一时间。因此文件无法下载)。并确保文件下载插件可用于config.xml并指定phonegap版本。

使用此代码在时间创建多个目录。

window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

// create directory
function gotFS(fileSystem) {
    window.FS = fileSystem;
    var printDirPath = function(entry){
        console.log("Dir path - " + entry.fullPath);
    }

    createDirectory("local/path/to/your", printDirPath);
}
function fail() {
    console.log("failed to get filesystem");
}

function createDirectory(path, success){
    var dirs = path.split("/").reverse();
    var root = window.FS.root;
    var createDir = function(dir){
        console.log("create dir " + dir);
        root.getDirectory(dir, {
            create : true,
            exclusive : false
        }, successCB, failCB);
    };

    var successCB = function(entry){
        root = entry;
        if(dirs.length > 0){
            createDir(dirs.pop());
        }else{
            success(entry);
        }
    };

    var failCB = function(){
    };

    createDir(dirs.pop());
}

现在编写文件下载代码。