|
本人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[getFileExtention(fileName)];
$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) {
});
});
};
|
|