[英]cordova.file is undefined in ionic project for android
我正在尝试为android
构建一个ionic app
。 我需要从sdcard读取一个文件,我正在使用ngcordova plugin
。 我已经要求ngCordova
角模块在app.js
我注射ngcordova
的前cordova.js
在我index.html
。 使用安装它
cordova插件添加cordova-plugin-file
我在我的控制器中注入了$cordovaFile
。
每当我尝试使用下面的代码读取文件时,我都会收到错误, cannot read property externalDataDirectory of undefined
$ionicPlatform.ready(function() {
console.log('cordova.file.externalDataDirectory: ' + cordova.file.externalDataDirectory);
myFsRootDirectory1 = 'file:///storage/emulated/0/'; // path for tablet
myFsRootDirectory2 = 'file:///storage/sdcard0/'; // path for phone
fileTransferDir = cordova.file.externalDataDirectory;
if (fileTransferDir.indexOf(myFsRootDirectory1) === 0) {
fileDir = fileTransferDir.replace(myFsRootDirectory1, '');
}
if (fileTransferDir.indexOf(myFsRootDirectory2) === 0) {
fileDir = fileTransferDir.replace(myFsRootDirectory2, '');
}
console.log('Android FILETRANSFERDIR: ' + fileTransferDir);
console.log('Android FILEDIR: ' + fileDir);
$cordovaFile.readAsText(fileDir + 'a.csv').then(function(result) {
console.log('readAsText: ', result);
alert(result)
})
.catch(function(err) {
alert(err)
});
})
我也试图打印cordova,但它不包含文件对象
$ionicPlatform.ready(function() {
alert(angular.toJson(window.cordova))
})
我也已经完成build cordova android
删除并添加了cordova plugin rm cordova-plugin-file
cordova plugin add cordova-plugin-file
以下是版本:
"ionic": "driftyco/ionic-bower#1.3.1",
"ngCordova": "^0.1.27-alpha"
我正在设备上测试这个并在每次测试时构建一个新的apk,而不是在webview
。
请帮我解决这个问题,或者如果你可以推荐一种不同的方法来解决这个问题,那就太好了!
谢谢你的回答
使用任何额外的插件配置更新了config.xml文件,这可能解决了您所面临的问题。 查看插件文档以获取更多信息。
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<preference name="AndroidExtraFilesystems" value="sdcard,cache" />
更多信息插件网站
更新 - 尝试以下
npm update -g
cordova -v
cordova platform list
cordova platform update ios (or whatever platforms)
cordova platform list
cordova plugin list
-- now either do a cordova plugin remove/add for each plugin to update
-- OR with ionic use ionic state reset and it will install all from package.json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.