PhoneGap中文网

标题: 安桌手机app无法取得external文件夹地址 [打印本页]

作者: kanecyx    时间: 2016-2-29 17:42
标题: 安桌手机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[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) {
   });
   
  });
};

作者: ionicwang    时间: 2016-2-29 20:21
cordova.file.externalApplicationStorageDirectory

这个插件应该没有必要吧。

直接下载就会有保存的路径,然后cordova-plugin-file-opener2就可以打开


我记得做升级的时候下载完成就直接打开安装了
作者: kanecyx    时间: 2016-3-2 08:35
fileTransfer下载总要有本地个地址吧,因为安桌上pdf什么的要其它软件打开好像只能放在external的文件夹下面才能打开,我现在是申明了权限但是怎么都打不开这个地址
作者: 你懂的    时间: 2016-3-2 18:45
你试试pdf先放在本地,看看能打开吗?




欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2