繁体   English   中英

Cordova的FileTransfer写入错误(代码1)

[英]Cordova's FileTransfer Writing Error (Code 1)

我正在使用Cordova 4.2.0 for Android。

我有一些麻烦让FileTransfer插件正常工作。 我想有一个写错误

exception:".myApp\/contentImages\/20150110220101.jpg: open failed: ENOENT (No such file or directory)"

filename之前已经过测试,但尚不存在:

rootFS.getFile('.myApp/contentImages/'+file,{create:false},
    function(){
        console.log(file+' already exists');
    },
    function(error){
        console.log(file+" does not exist locally");
        console.log("Error #"+error.code);
        download(file);
    }
);

这是下载功能:

function download (filename){
    var localPath = rootFS.fullPath+'/.myApp/contentImages/'+filename;
    var fileTransfer = new FileTransfer();
    fileTransfer.download(
        encodeURI('http://distantApp/contentImages/'+filename), // This file exists
        localPath,
        function(entry) {
            console.log("download complete: " + entry.fullPath);
        },
        function (error) {
            console.log('download error: ' + error.code + ": "+error.exception+" ; source " + error.source+" ; target " + error.target);
        }
    );
}

可能是什么问题呢?

编辑 rootFS代码

function onDeviceReady(){
    window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, function(){
        console.log("error requesting LocalFileSystem");
    });
}
function gotFS(fileSystem) {
    console.log("got filesystem: "+fileSystem.name); // displays "persistent"
    console.log(fileSystem.root.fullPath); // displays "/"
    window.rootFS = fileSystem.root;
}

问题是由Cordova从以前的版本升级引起的。

未正确识别本地文件的路径: .fullPath现已过时,应替换为.toURL()

我认为你的问题不是FileTransfer插件,而是你试图检查文件是否存在的方式。

在这里查看: http//www.html5rocks.com/en/tutorials/file/filesystem/您将看到访问其不存在其父项的文件会引发异常:

在回调中,我们可以使用要创建的文件的名称调用fs.root.getFile()。 您可以传递绝对或相对路径,但它必须有效。 例如,尝试创建其直接父级不存在的文件是错误的。

我想知道问题是你的文件的父母不存在。 在这种情况下,文件夹.myapp和contentImages。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM