使用Cordova在Android上打开powerpoint和word文档

时间:2015-03-10 23:27:33

标签: android cordova ionic

我目前正在使用Corodova插件inappbrowser来打开文件。它在iOS上运行良好,但在Android上运行不正常。我发现Android的浏览器不支持查看文件,因此您必须使用该系统。

我认为我遇到的问题是我不知道如何获取文件的路径。

这是我的代码:

$scope.onResourceClick = function(url){
    window.open(url, '_system', 'location=no');
};

url是文件的相对路径,来自www文件夹中的index.html。

所以我认为我的问题是,如何获得文件的绝对路径。

我正在取得进步。使用Cordova's file plugin我可以获得一些不同的路径。仍然不确定使用哪个以及文件存储在哪里。

我正在使用cordovaFile.checkFile来检查我尝试的路径上是否有文件,我现在只是想猜看我是否能幸运地找到它。

$cordovaFile.checkFile(cordova.file.dataDirectory, url)
    .then(function (success) {
        alert('yay' + success);
    }, function (error) {
        alert('nah' + error);
    });

我试过

  • cordova.file.dataDirectory
  • cordova.file.applicationDirectory

并附加到每个文件的末尾,从www文件夹到我的文件的路径,以及文件名。我希望我能幸运并找到合适的文件组合,因为我似乎无法找到答案进行研究。

编辑:

我正在尝试做的工作流程发生了变化。 我现在将文件存储在服务器上并使用api将url返回到文件。然后将文件下载到设备上,然后打开它。

目前除了下载方法以外我还有其他功能。

$cordovaFile.writeFile(cordova.file.externalDataDirectory, resourceFullName, resource.DocumentURL, true)

下载方法仅下载100字节的文件。

我认为这可能是因为writeFile方法要求Data,而我给它的是文件的URL,而不是txt。看起来我目前的问题是,如何将文件下载到设备上。

2 个答案:

答案 0 :(得分:2)

使用以下File Opener Plugin

示例使用

window.plugins.fileOpener.open("file:///sdcard/Android/data/com.example.application/manual.pdf");

答案 1 :(得分:2)

您可能还有其他一些问题:

系统浏览器可能没有权限在您的应用程序的www目录中打开文件。

我不相信Android的浏览器支持PDF或Powerpoint。正如Murtaza所说,有些插件可以让你在另一个应用程序中打开文档。您还可以查看pdf.js以在Web视图中呈现PDF。

要下载文件,您应该使用文件传输插件。 http://ngcordova.com/docs/plugins/fileTransfer/