无法使用cordova fileopener插件打开本地文件
Posted
技术标签:
【中文标题】无法使用cordova fileopener插件打开本地文件【英文标题】:Can`t open local file with cordova fileopener plugin 【发布时间】:2016-06-21 14:01:36 【问题描述】:在android 5.0
设备上,我遇到下载文件可以t be opened by
cordova fileopener pluginnor
InAppBrowsernor
window.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 设备上,但为什么呢?可能是根路径不正确或者我还不知道有什么限制。
【问题讨论】:
很久以前和最近都试过这个。这对我来说仍然是个谜。据我所知,至少我无法将文件写入应用程序数据目录。因此,您将无法打开它,因为它将不存在。查看链接 - ***.com/questions/35526078/… 查看此链接以获取文件打开器的工作示例 - github.com/gandhirajan/Cordova_File_Operations 好的,谢谢。我会检查一下。 后面的链接和来源对我帮助很大。是的,“window.resolveLocalFileSystemURL(cordova.file.cacheDirectory”不起作用,所以我将其更改为“cordova.file.externalRootDirectory”。我仍然需要对 iOS 进行一些改进,但总体问题已得到解答。谢谢! 很高兴它对您有所帮助,因为这是我在 github 上的第一个 repo。很高兴它帮助了你。贴出答案。请接受相同的,以便其他人受益。快乐编码。干杯。 【参考方案1】:很久以前和最近都尝试过。这对我来说仍然是个谜。据我所知,至少我无法将文件写入应用程序数据目录。因此,您将无法打开该文件,因为它不存在。
请您改用cordova.file.externalRootDirectory
。有关 fileopener 插件的更多信息,请查看Cordova file operations link
【讨论】:
那行得通。谢谢你。文档没有提到这一点。所以你节省了我的时间;)以上是关于无法使用cordova fileopener插件打开本地文件的主要内容,如果未能解决你的问题,请参考以下文章
cordova打开文件系统插件的使用: cordova-plugin-file-opener2
Cordova 插件,允许用户浏览文件并上传所选文件 (iOS)