安桌手机app无法取得external文件夹地址
本人ionic新手,安卓app要从服务器下载打开pdf,word等类型的文件已经配置了cordova-plugin-file,cordova-plugin-file-transfer等插件
实现的时候是用cordova-plugin-file-transfer 下载文件到 cordova.file.externalApplicationStorageDirectory
然后用cordova-plugin-file-opener2打开.
然而cordova.file.externalApplicationStorageDirectory一直返回null 试了其他几个external的路径要不是undefined要不是null,
但是像dataDirectory是可以取到具体的地址的.
以为是权限的问题,查了下cordova的几个plugin里都已经有了权限设定
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
打包生成好的apk里AndroidManifest.xml里也是有这个声明的.
现在不知道哪里出问题了,各路大神求救!
$scope.downloadOpenFile = function(){
$ionicPlatform.ready(function(){
var _saveDirectory = cordova.file.externalApplicationStorageDirectory;=========〉 alert出来这个一直是空
alert(_saveDirectory);
var fileName = getFileNameFromFullPath($scope.ppt.path);
var tPath = _saveDirectory + fileName;
var fMIME = fileMIMEType;
$cordovaFileTransfer.download($scope.ppt.path, tPath, {}, true).then(function(result) {
alert("success");
$cordovaFileOpener2.open(tPath,fMIME).then(function() {
// file opened successfully
}, function(err) {
alert('Failed because: ' + error);
});
}, function(err) {
alert('Failed because: ' + error);
}, function (progress) {
});
});
};
cordova.file.externalApplicationStorageDirectory
这个插件应该没有必要吧。
直接下载就会有保存的路径,然后cordova-plugin-file-opener2就可以打开
我记得做升级的时候下载完成就直接打开安装了 fileTransfer下载总要有本地个地址吧,因为安桌上pdf什么的要其它软件打开好像只能放在external的文件夹下面才能打开,我现在是申明了权限但是怎么都打不开这个地址 你试试pdf先放在本地,看看能打开吗?
页:
[1]