【发布时间】:2017-03-07 20:17:20
【问题描述】:
我正在尝试打开一个文本文件并将内容放入 sqlite db。问题是我无法以任何方式读取文件。下面是我设法完成的最接近成功的地方。执行时会产生 FileError(2): "SECURITY_ERR"。
openFile(): void {
FileChooser.open()
.then(uri => {
console.log(uri);
File.resolveLocalFilesystemUrl(uri)
.then(entry=>{
console.log(entry);
let path = entry.nativeURL.substring(0, entry.nativeURL.lastIndexOf('/'));
console.log(path);
File.readAsText(path, entry.name)
.then(content=>{
console.log(content);
})
})
.catch(e => console.log(e));
});
}
在手机上,我看到该应用在 sd 卡和platform/AndroidManifest.xml 中设置了 rw 访问权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我花了很多时间在互联网上挖掘并尝试不同的解决方案,但没有成功。
编辑:
这是console.log(cordova.file); 的输出:
applicationDirectory: "file:///android_asset/"
applicationStorageDirectory: "file:///data/data/com.ionicframework.leki645195/"
cacheDirectory: "file:///data/data/com.ionicframework.leki645195/cache/"
dataDirectory: "file:///data/data/com.ionicframework.leki645195/files/"
documentsDirectory: null
externalApplicationStorageDirectory: "file:///storage/emulated/0/Android/data/com.ionicframework.leki645195/"
externalCacheDirectory: "file:///storage/emulated/0/Android/data/com.ionicframework.leki645195/cache/"
externalDataDirectory: "file:///storage/emulated/0/Android/data/com.ionicframework.leki645195/files/"
externalRootDirectory: "file:///storage/emulated/0/"
sharedDirectory: null
syncedDataDirectory: null
tempDirectory: null
【问题讨论】:
标签: android cordova ionic-framework ionic2