我试图检查是否存在带有cordova的文件,但我一直收到NOT_FOUND_ERR
消息。如果我将nativeURL
更改为fullPath
,我会收到ENCODING_ERR
。官方文档要求两个参数:路径和文件。在线的一些示例将文件名/路径显示为唯一参数。我试过这两个版本而没有运气。
myFactory.transfer_file(url, download, {}, true, function(state, ob){
if(state=="success"){
$cordovaFile.checkFile(ob["nativeURL"]).then(function(result) {
console.log('File Success!');
}, function(err) {
console.log(JSON.stringify(err));
});
}
});
file_transfer
函数只是我在$cordovaFileTransfer.download
$cordovaFileTransfer.download(url, targetPath, options, trustHosts)
.then(function(result) {
callback("success", result);
}, function(err) {
callback("fail", err);
}, function (progress) {
callback("progress", progress);
});
传输正常,文件现在存在于我使用adb检查的文件系统上。但是使用checkFile
函数找不到它。
我不确定我在考虑使用完成文件传输时返回的确切路径后会出现什么问题。
答案 0 :(得分:2)
使用current documentation中的两个参数版本。第一个路径参数应仅为基本路径。第二个应该是剩余的路径和文件名。
因此,如果您使用cordova.file.dataDirectory+"images/img1.png"
创建文件,则代码将为$cordovaFile.checkFile(cordova.file.dataDirectory, "images/img1.png")
以检查其是否存在。
不是 $cordovaFile.checkFile(cordova.file.dataDirectory+"images/", "img1.png")
正如我第一次尝试的那样。