【问题标题】:Given the full path to a file, how you use the new Cordova file plugin?给定文件的完整路径,您如何使用新的 Cordova 文件插件?
【发布时间】:2015-11-04 17:23:44
【问题描述】:

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

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

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

【问题讨论】:

    标签: cordova ionic-framework cordova-plugins ngcordova


    【解决方案1】:

    您可能正在寻找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。

    【讨论】:

    • 谢谢,特别是 FileReader 对象,它有必要的 readAsBinaryString(file) 方法。
    猜你喜欢
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    相关资源
    最近更新 更多