Phonegap文件传输下载

Phonegap Filetransfer download

本文关键字:下载 传输 文件 Phonegap      更新时间:2023-09-26

我是新来的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>

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

首先你的url是无效的包括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());
}

现在编写文件下载代码。