在Phonegap中保存文件

时间:2019-03-19 16:03:51

标签: javascript android cordova phonegap

在过去的几个小时中,我一直在浏览文档和所有内容,但没有成功... 我想从某台服务器下载文件并保存在我的手机上(该应用存储文件的目录,该文件仅对我的应用可见,并且在应用已卸载)。我想存储文件并写入(我已经完成了下载部分)。使用以下代码,当我运行它时,它可以工作并显示“文件”中的文本,但是当我使用某些文件浏览器应用程序搜索文件时,就无法找到我“创建”的文件。

干杯!

编辑说明: 好的,所以我现在甚至尝试使用USB连接在计算机上的手机上创建文件,因此我知道该文件存在的事实... 我从PC创建文件的路径为:

  

此PC \ Galaxy S7 edge \ Phone \ Android \ data \ com.phonegap.musicapp2 \ text.txt

我从JSON.stringify(dirEntry)获得的响应代码如下

{"isFile":false,"isDirectory":true,"name":"com.phonegap.musicapp2","fillPath":"/data/user/0/com.phonegap.musicapp2/", "filesystem":"","nativeURL":"file:///data/user/0/com.phonegap.musiapp2/"}

所以当我从下面运行代码时,它给了我

  

getFile错误:{“ code”:1}

我仔细阅读了文档,发现代码1的意思是:NOT_FOUND_ERR(http://prntscr.com/n071kx

“来自波纹管的代码”

function readFile(fileEntry) {

    fileEntry.file(function (file) {
        var reader = new FileReader();

        reader.onloadend = function() {
            DebugConsole.log("Successful file read: " + this.result);
            //  displayFileData(fileEntry.fullPath + ": " + this.result);
        };

        reader.readAsText(file);

    }, onErrorReadFile);
}

window.resolveLocalFileSystemURL(cordova.file.applicationStorageDirectory, function(dirEntry) {

    DebugConsole.log(JSON.stringify(dirEntry));

    dirEntry.getFile('text.txt', {create: false, exclusive: false}, function(fileEntry) {

        //writeFile(fileEntry, null, isAppend);
        readFile(fileEntry);

    }, function(e) {

        DebugConsole.log('Error from getFile: ' + JSON.stringify(e));
    });
});

旁注: 应用程序从不要求访问我的内部存储的权限。 我进入了Apps / myapp / permissions,它表明该应用没有访问存储的权限。我打开了它,但是还是没有运气。 我想我需要以某种方式从应用程序请求存储访问权限,但是我似乎找不到方法?

1 个答案:

答案 0 :(得分:0)

我设法找到了以下解决方案

local text = "‍‍‍‍‍⌚↔"
for emoji in text
   :gsub("(.)([\194-\244])", "%1\0%2")
   :gsub("%z(\240\159\143[\187-\191])", "%1")
   :gsub("%z(\239\184[\128-\143])", "%1")
   :gsub("%z(\226\128\141)%z", "%1")
   :gmatch"%Z+" 
do
   print(emoji)
end