过去几个小时我一直在浏览文档和所有内容但没有成功......我想从某个服务器下载一个文件并将其保存在我的手机上(应用程序存储只能看到文件的目录)到我的应用程序,并在卸载应用程序时删除)。我想存储一个文件并写入它(我已经完成了下载部分)。使用以下代码,当我运行它时,它可以工作并显示“文件”中的文本,但是当我使用某些文件资源管理器应用程序搜索文件时,我“创建”的文件无处可寻。
干杯!
编辑说明:好的,所以我现在甚至尝试使用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 /权限,它显示该应用程序没有访问存储的权限。我打开它但仍然没有运气。我想我需要以某种方式从应用程序请求存储访问,但我似乎无法找到方法如何?
我设法找到了以下解决方案
window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory + "Android/data/app.name/files/", success, fail);