给定文件的完整路径,您如何使用新的Cordova文件插件?

时间:2015-11-04 17:23:45

标签: cordova ionic-framework cordova-plugins ngcordova

Cordova文件插件在此处有详细记录:http://ngcordova.com/docs/plugins/file/

我遇到的问题是,这些方法通常需要一个FileSystem对象和一个表示文件名的字符串。但是我所拥有的是文件的完整路径,它可以来自任何可读的FileSystem。事实上,使用目标类型Camera.DestinationType.FILE_URI使用Cordova相机插件(http://ngcordova.com/docs/plugins/camera/)检索文件路径。

话虽如此,如何使用完全解析的文件路径调用readAsBinaryString(FileSystem,fileName)方法?

1 个答案:

答案 0 :(得分:2)

您可能正在寻找window.resolveLocalFileSystemURL。 File插件使用一些html5调用来完成它的工作。

以下是我所获得的文档导入方法的示例。 (它非常简单;如果您感到好奇,那么完整的文件就在这里:https://github.com/adapt-it/adapt-it-mobile/blob/master/www/js/views/DocumentViews.js

importFile = function (file, project) {
    var reader = new FileReader();
    reader.onloadend = function (e) {
        // do your parsing here
    };
    reader.readAsText(file);
}

window.resolveLocalFileSystemURL(fileURL,
    function (entry) {
        entry.file(
            function (file) {
                importFile(file);
            },
            function (error) {
                console.log("FileEntry.file error: " + error.code);
            }
        );
    },
    function (error) {
        console.log("resolveLocalFileSystemURL error: " + error.code);
    });

Raymon Camden还有一个很棒的博客系列,解释了与Cordova相关的文件API的细节。以下是阅读文件的内容:http://www.raymondcamden.com/2014/07/15/Cordova-Sample-Reading-a-text-file