首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用cordova将文件保存到iOS中的公共目录

使用cordova将文件保存到iOS中的公共目录
EN

Stack Overflow用户
提问于 2016-08-12 23:31:51
回答 2查看 3.8K关注 0票数 4

我有一个cordova应用程序,它从互联网上下载pdf文件,并使用cordova-plugin-file和cordova-plugin- file -transfer将其保存到本地文件系统。在下一步中,我想使用指定mimetype的默认应用程序打开该文件。为此,我使用cordova- plugin -file-opener2插件。保存文件的目录需要对所选第三方应用程序可读,才能打开文件。在android上,有几个可公开访问的文件系统目录,我可以让它正常工作。但是我无法找到正确的目录,我需要在iOS的情况下保存文件,使其可用于选定的默认第三方应用程序。

cordova-plugin-file在其文档中表示,在RW模式下可用于cordova应用程序的所有目录都是私有的:https://github.com/apache/cordova-plugin-file#file-system-layouts

但是它是怎么来的呢?默认情况下,基于mimetype的第三方应用程序打开文件的概念是每个操作系统的标准。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2016-08-12 23:41:10

iOS没有可公开访问的文件系统目录。

一种方式-通过UIActivityViewController使用共享。

票数 1
EN

Stack Overflow用户

发布于 2017-03-04 14:36:17

我在IOS中使用cordova- plugin -file-opener2插件。我将我的文件保存在cordova.file.cacheDirectory中,当我将zip文件保存到该位置时,这对我来说工作得很好。我首先必须安装一个压缩文件管理器,以便处理mimeType = application/zip。我使用的zip文件管理器是一个免费版本的"Zip Viewer“,它看起来不错,但有一些广告。

为了让它在安卓上工作,我不得不将我的文件保存在cordova.file.externalRootDirectory中,当我在安卓上使用cordova.file.cacheDirectory时,它无声地失败了。你不能为IOS使用cordova.file.externalRootDirectory,因为根据Cordova文件插件文档,它不是为IOS定义的。

以下是保存文件时调用的代码片段:

代码语言:javascript
运行
复制
var fileName = "myfile.zip";
//for IOS
var filePath = cordova.file.cacheDirectory+"/Download/"+fileName;
//for Android
//var filePath = cordova.file.externalRootDirectory+"/Download/"+fileName;

var mimeType = "application/zip";
cordova.plugins.fileOpener2.open(
    filePath,
    mimeType,
    {error : function(){
                   my.alert("ERROR opening with cordova.plugins.fileOpener2");
             },
     success : function(){
                   my.log("SUCCESS opening zip file");
               }
     });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38921594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档