PhoneGap resolveLocalFileSystemURI

PhoneGap resolveLocalFileSystemURI,file,cordova,copy,move,File,Cordova,Copy,Move,我正在尝试解析此文件系统uri,如下所示: /var/mobile/Applications/9483756B-8D2A-42C5-8CF7-8D76AAA8FF2C/Shift.app/iqedata/5977e2e9239649d5a7e3b8a54719679f/06e2b8896e51472789fcc27575631f94.jpg 任何人都可以告诉我如何在PhoneGap中解析这个uri,并使用下面显示的方法获取FileEntry吗 window.resolveLocalFileSy

我正在尝试解析此文件系统uri,如下所示:

/var/mobile/Applications/9483756B-8D2A-42C5-8CF7-8D76AAA8FF2C/Shift.app/iqedata/5977e2e9239649d5a7e3b8a54719679f/06e2b8896e51472789fcc27575631f94.jpg
任何人都可以告诉我如何在PhoneGap中解析这个uri,并使用下面显示的方法获取FileEntry吗

window.resolveLocalFileSystemURI(Url, resOnSuccess, resOnError);
我曾尝试在uri之前添加“file://”或“/”,但不起作用


谢谢。

PhoneGap不允许您读取[APP HASH]/文档或[APP HASH]/tmp文件夹之外的文件。除非你能找到一种方法用这些文件夹中的数据初始化你的应用程序,否则你必须用另一种方法获取数据。我发现下面的代码可以工作。基本上,它会将本地文件下载到临时文件夹中,并提供文件条目

window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, function(fs){
    fs.root.getFile("temp", {create: true, exclusive: false},
      function(entry){
        fileTransfer.download(
                Url, // the filesystem uri you mentioned
                entry.fullPath,
                function(entry) {
                    // do what you want with the entry here
                    console.log("download complete: " + entry.fullPath);
                },
                function(error) {
                    console.log("error source " + error.source);
                    console.log("error target " + error.target);
                    console.log("error code " + error.code);
                },
                false,
                null
        );
    }, function(){
        alert("file create error");
    });
}, null);

非常感谢你。这东西让我发疯了,你的解决方案非常有效。另一个技巧是uri应该以file:///var/blablablaGlad 成功了!我通常以location.href开始构建路径,它已经具有file:///. 这样我就不必对整个路径进行硬编码。太好了!感谢您让我知道。window.resolveLocalFileSystemURI在android中对我来说运行良好。但ios是否会有所不同。请让我知道。@SaurabhAndroid您应该将代码和问题作为新问题发布。在这个问题上,请务必给出您的PhoneGap版本以及一些示例代码和上下文,以及您安装了哪些插件。