看不到使用cordova-file插件存储在Android设备上的文件
我试图在cordova应用程序中显示android设备上存储的文件列表,并且我正在使用cordova-file插件。但是,当我在应用程序中选择浏览按钮时,我没有看到文件,但我在系统“我的文件”android应用程序中看到了文件 这是我正在迭代的文件夹列表看不到使用cordova-file插件存储在Android设备上的文件,android,cordova,cordova-plugins,cordova-plugin-file,Android,Cordova,Cordova Plugins,Cordova Plugin File,我试图在cordova应用程序中显示android设备上存储的文件列表,并且我正在使用cordova-file插件。但是,当我在应用程序中选择浏览按钮时,我没有看到文件,但我在系统“我的文件”android应用程序中看到了文件 这是我正在迭代的文件夹列表 [cordova.file.externalRootDirectory,cordova.file.dataDirectory] 在android手机上,我看到文件正在执行以下操作: 选择/设置/存储/内部存储 选择探索 在emnu上,标题
[cordova.file.externalRootDirectory,cordova.file.dataDirectory]
在android手机上,我看到文件正在执行以下操作:
$scope.showLocalFileOnAndroid = function () {
$scope.showLocalAndroidFiles = true;
var localURLs = [cordova.file.externalRootDirectory,cordova.file.dataDirectory
];
var index = 0;
var i;
var errorStr = '';
var fileList = [];
var addFileEntry = function (entry) {
var dirReader = entry.createReader();
dirReader.readEntries(
function (entries) {
var i;
for (i = 0; i < entries.length; i++) {
if (entries[i].isDirectory === true) {
// Recursive -- call back into this subdirectory
addFileEntry(entries[i]);
} else {
var ext = entries[i].name.split('.').pop();
if (ext === 'doc' || ext === 'docx' ||
ext === 'rdf' || ext === 'pdf' || ext === 'txt' ||
ext === 'odt') {
fileList.push(entries[i]); // << replace with something useful
}
index++;
}
}
},
function (error) {
console.log('readEntries error: ' + error.code);
errorStr += '<p>readEntries error: ' + error.code + '</p>';
}
);
};
var addError = function (error) {
console.log('getDirectory error: ' + error.code);
errorStr += '<p>getDirectory error: ' + error.code + ', ' + error.message + '</p>';
};
for (i = 0; i < localURLs.length; i++) {
if (localURLs[i] === null || localURLs[i].length === 0) {
continue; // skip blank / non-existent paths for this platform
}
window.resolveLocalFileSystemURL(localURLs[i], addFileEntry, addError);
}
$scope.fileList = fileList;
$scope.localFileError = errorStr;
};
$scope.showLocalFileOnAndroid=函数(){
$scope.showLocalAndroidFiles=true;
var localURLs=[cordova.file.externalRootDirectory,cordova.file.dataDirectory
];
var指数=0;
var i;
var errorStr='';
var fileList=[];
var addFileEntry=函数(条目){
var dirReader=entry.createReader();
dirReader.readEntries(
功能(条目){
var i;
对于(i=0;icordova
插件那样在设备之间可移植
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
var localURLs = [cordova.file.externalRootDirectory,
cordova.file.dataDirectory,
"file:///Download"]; // or "file:///sdcard/Download" or "file:///storage/Download" or "file:///storage/download" or something
我用作参考
也许您所缺少的只是对requestFileSystem
的调用。也许您必须这样做。不过,这可能不像使用cordova
插件那样可在设备之间移植
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
var localURLs = [cordova.file.externalRootDirectory,
cordova.file.dataDirectory,
"file:///Download"]; // or "file:///sdcard/Download" or "file:///storage/Download" or "file:///storage/download" or something
我用作参考
也许您所缺少的只是对
requestFileSystem
的调用,这里可能重复了未回答的问题:谢谢..我看到了答案,并复制了一些代码,但是,它不起作用..设备上的文件存储在“Internal Storage\root\sdcard\Download”中代码中没有任何路径定义引用此路径这似乎是一个常见问题,与Cordova和下载文件夹有关。可能不是问题,但您在LocalURL
数组中有Cordova.file.dataDirectory
两次。我看不出原因,我删除了重复的URL。它没有通过正确的android Phone中的文件夹可能与此处的未回答问题重复:谢谢..我看到了答案,并复制了一些代码,但是它不起作用..设备上的文件存储在“Internal Storage\root\sdcard\Download”中代码中没有任何路径定义引用此路径这似乎是一个常见问题,与Cordova和下载文件夹有关。可能不是问题,但您在LocalURL
数组中有Cordova.file.dataDirectory
两次。我看不出原因,我删除了重复的URL。它没有通过正确的android手机中的文件夹谢谢,但它对我不起作用。这就是我正在尝试做的,我有一个html标记输入类型文件,我正在尝试在设备上列出该文件,,,在某些版本的android上,我看到一个系统文件选择器,但我不知道如何获取所选文件…因此,我决定阅读android文件夹。现在我不确定如何处理我在android上降级到API 22,现在我能够读取该文件…不确定发生了什么事..谢谢,但它对我不起作用..这就是我正在尝试做的,我有一个html标记输入类型文件,我试图在设备上列出该文件,,,,在某些版本的android上,我看到一个系统文件选择器,但我不知道如何操作获取所选文件…因此,我决定读取android文件夹..现在我不确定如何处理我在android上降级到API 22,现在我能够读取文件..不确定发生了什么。。