cordova.file在android的ionic项目中未定义
cordova.file is undefined in ionic project for android
我正在尝试为android
构建一个ionic app
。我需要从我正在使用ngcordova plugin
的SD卡中读取一个文件。我在app.js
中的角度模块中需要ngCordova
我在index.html
中的cordova.js
之前注入ngcordova
。使用安装
cordova插件添加cordova插件文件
我在控制器中注入了$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
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- 当项目投入使用时,Javascript是未定义的
- 在 JavaScript 对象中添加子对象时获取“无法设置未定义的属性'项目'”
- AngularJs $scope在离子项目中是未定义的
- 使用 EJS 部分和角度的节点/快速项目:未捕获的引用错误:未定义角度
- AngularJS对于$scope中的项目$scope未定义的
- 在Visual Studio 2015中加载MVC 5项目时,未定义$
- device.platform return'设备未定义'关于cordova项目
- 未捕获的ReferenceError:Haxe-js项目中未定义$hxClasses
- 不能读取property 'top'未定义的Ruby on Rails项目
- 在React项目中,“this”"转换为“未定义”
- jqgrid中的自动完成文本框显示错误,项目未定义
- 如何调用项目中未定义的函数
- 使用Grunt的Node JS项目,生成的JS文件有ReferenceError:窗口未定义
- JSBIN项目:RX.Js 5.0.0拉出'未定义'错误
- Cordova&SQLite-所有行项目返回为'未定义'
- 为d3项目加载csv文件时未定义的值
- cordova.file在android的ionic项目中未定义