Ionic:在Cordova中未定义LocalFileSystem

时间:2015-09-15 13:30:30

标签: cordova ionic-framework ionic cordova-plugins

我无法使cordova文件系统正常工作。我有一个具有以下依赖项的项目: 在app.js中,我定义了对控制器模块的依赖:

exampleApp.controller("FileController", function($scope, $ionicLoading) {

$scope.download = function() {
    $ionicLoading.show({
      template: 'Loading...'
    });
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs) {
        fs.root.getDirectory(
            "ExampleProject",
            {
                create: true
            },
            function(dirEntry) {
                dirEntry.getFile(
                    "test.png", 
                    {
                        create: true, 
                        exclusive: false
                    }, 
                    function gotFileEntry(fe) {
                        var p = fe.toURL();
                        fe.remove();
                        ft = new FileTransfer();
                        ft.download(
                            encodeURI("http://ionicframework.com/img/ionic-logo-blog.png"),
                            p,
                            function(entry) {
                                $ionicLoading.hide();
                                $scope.imgFile = entry.toURL();
                            },
                            function(error) {
                                $ionicLoading.hide();
                                alert("Download Error Source -> " + error.source);
                            },
                            false,
                            null
                        );
                    }, 
                    function() {
                        $ionicLoading.hide();
                        console.log("Get file failed");
                    }
                );
            }
        );
    },
    function() {
        $ionicLoading.hide();
        console.log("Request for filesystem failed");
    });
}

});

我得到的是:

未定义LocalFileSystem

此外,requestFileSystem未定义。这种行为可能是什么原因?

我使用的是cordova 4.1.2和离子1.3.1。

1 个答案:

答案 0 :(得分:3)

您需要安装cordova文件插件才能使用这些功能,通过以下命令将插件添加到项目中: ionic plugin add cordova-plugin-file

注意: Cordova文件系统应该与真实设备或模拟器一起使用,而不是浏览器。