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

标签 android cordova ionic-framework

我目前正在使用 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)

下载方式是只下载100bytes的文件。

我认为这可能是因为 writeFile 方法正在请求数据,而我给它的是文件的 URL,而不是 txt。看来我当前的问题是,如何将文件下载到设备。

最佳答案

您可能还遇到其他几个问题:

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

我认为 Android 浏览器不支持 PDF 或 Powerpoint。正如 Murtaza 所建议的,有一些插件可以让您在另一个应用程序中打开文档。您也可以查看 pdf.js在 WebView 中呈现 PDF。

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

关于android - 使用 Cordova 在 Android 上打开 powerpoint 和 word 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28975962/

相关文章:

android - 如果有先前 Activity 的返回数据来通知用户,如何创建警报对话框?

android - 使用ajax连接到本地服务器时Cordova应用程序超时

angularjs - Cordova 文件写入抛出 EACCES(权限被拒绝)错误

ionic-framework - ionic native camera.getPicture(options) 总是返回一个字符串

android - Chrome 通过端口转发远程调试虚拟机上的本地站点

android - 将 volley 请求的结果使用到 AutocompleteAdapter 中

java - Android 中的重置/清除按钮

android - 如何为整个 Cordova 应用程序添加一个恢复事件?

cordova - 在 Cordova PhoneGap 2.1.0 中将文件复制到 SD 卡

javascript - 如何在openlayers中获取当前的缩放