【问题标题】:I ain't able to run code in cordova-plugin-file我无法在 cordova-plugin-file 中运行代码
【发布时间】:2017-04-15 16:36:27
【问题描述】:

我是 AngularJS 和 cordova 的新手,在解决简单问题时遇到了一些小问题。 我正在研究 Cordova-Plugin-File,但无法在我的 AngularJS 移动设备应用程序中运行它。有人可以帮我吗?

按照我从网络上的示例中获取的代码进行操作。

javascript:

    var logOb = "";
    window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function (dir) {
        console.log("got main dir", dir);
        dir.getFile("log.txt", { create: true }, function (file) {
            console.log("got the file", file);
            logOb = file;
            writelog("App started");
        });
    });

    function writelog(str) {
        if (!logOb) alert('teste2');
        var log = str + " [" + (new Date()) + "]\n";
        console.log("going to log " + log);
        logOb.createWriter(function (fileWriter) {

            fileWriter.seek(fileWriter.length);

            var blob = new Blob([log], { type: 'text/plain' });
            fileWriter.write(blob);
            console.log("ok, in theory i worked");
        }, fail);
    }

记住我已经测试了插件并且它运行良好。我用这个教程来测试它:

https://www.youtube.com/watch?v=bizW561ALsY

这些命令根据需要返回了我手机中的文件夹。我只是在上面的示例中遇到问题,当进入“createWriter”命令时,无法从中传递。

如果有人可以帮助我,我将非常感激。

【问题讨论】:

    标签: javascript android angularjs cordova ionic-framework


    【解决方案1】:

    更新中。

    在等待回复时,我找到了一些方法来开始做我需要的事情。首先,我能够创建存档 .csv。

    $scope.criaCSV = function () {
        // Create Object
    
        var items = [
            { name: "Item 1", color: "Green", size: "X-Large" },
            { name: "Item 2", color: "Green", size: "X-Large" },
            { name: "Item 3", color: "Green", size: "X-Large" }];
    
        // Convert Object to JSON
        var jsonObject = JSON.stringify(items);
    
        // Convert JSON to CSV & Display CSV
        ConvertToCSV(jsonObject);
     };
    
    function ConvertToCSV(objArray) {
        var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
        var str = '';
    
        for (var i = 0; i < array.length; i++) {
            var line = '';
            for (var index in array[i]) {
                if (line != '') line += ','
                line += array[i][index];
            }
            str += line + '\r\n';
        }
    

    后来我能够在我的手机中保存一个 txt 档案:

    document.addEventListener("deviceready", onDeviceReady, false);
    
    function onDeviceReady() {
        requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError);
    }
    
    function onSuccess(fileSystem) {
        alert(fileSystem);
        var directoryEntry = fileSystem.root;
    
        //lets create a file named readme.txt. getFile method actually creates a file and returns a pointer(FileEntry) if it doesn't exist otherwise just returns a pointer to it. It returns the file pointer as callback parameter.
        directoryEntry.getFile("readme.txt", { create: true, exclusive: false }, function (fileEntry) {
            //lets write something into the file
            fileEntry.createWriter(function (writer) {
                alert("This is the text inside readme file");
            }, function (error) {
                alert("Error occurred while writing to file. Error code is: " + error.code);
            });
        }, function (error) {
            alert("Error occurred while getting a pointer to file. Error code is: " + error.code);
        });
    }
    
    function onError(evt) {
        alert("Error occurred during request to file system pointer. Error code is: " + evt.code);
    }
    

    有人能帮我把那个拱门传递给我保存 txt 的代码,改变那个拱门的 txt 吗?

    谢谢大家。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 2019-08-15
      • 1970-01-01
      相关资源
      最近更新 更多