【发布时间】:2016-06-21 14:01:36
【问题描述】:
在android 5.0 设备上,我遇到下载文件可以t be opened bycordova fileopener pluginnorInAppBrowsernorwindow.open` 的问题。
文件被下载并保存到FileSystem.root.getURL()给出的app根路径下->file:///data/data/myappid/files/files/
如果我使用cordova fileopener 插件打开文件例如:
`cordova.plugins.FileOpener.openFile("file:///data/data/myappid/files/files/mydocument.pdf", successFn, failureFn);`
似乎一切正常。没有错误,并且显示了例外的“应用程序选择提示”以选择例如 pdf-viewer 或图像查看器重新下载文件 mime 类型。到目前为止还好。
但是选择后不管是哪个app,都会报错,无法打开文件。
在 iOS 上,可以使用window.open 打开下载文件,没有任何问题。
我认为该文件未正确保存在 android 设备上,但为什么呢?可能是根路径不正确或者我还不知道有什么限制。
【问题讨论】:
-
很久以前和最近都试过这个。这对我来说仍然是个谜。据我所知,至少我无法将文件写入应用程序数据目录。因此,您将无法打开它,因为它将不存在。查看链接 - stackoverflow.com/questions/35526078/…
-
查看此链接以获取文件打开器的工作示例 - github.com/gandhirajan/Cordova_File_Operations
-
好的,谢谢。我会检查一下。
-
后面的链接和来源对我帮助很大。是的,“window.resolveLocalFileSystemURL(cordova.file.cacheDirectory”不起作用,所以我将其更改为“cordova.file.externalRootDirectory”。我仍然需要对 iOS 进行一些改进,但总体问题已得到解答。谢谢!
-
很高兴它对您有所帮助,因为这是我在 github 上的第一个 repo。很高兴它帮助了你。贴出答案。请接受相同的,以便其他人受益。快乐编码。干杯。