在Android上,我可以使用downloads_path_provider软件包在Downloads文件夹中下载一个pdf文件,但在IOS上,我使用这个软件包时出现错误。如果我使用getApplicationDocumentsDirectory(),我会得到以下路径:/var/mobile/Containers/Data/Application/EBB52CAB-7783-489A-B9C4-4BB7A093B8C3/Documents我想把下载的文件内的iPhone的文件
downloads_path_provider
getApplicationDocumentsDirectory()
/var/mobile/Containers/Data/Application/EBB52CAB-7783-489A-B9C4-4BB7A093B8C3/Documents
8mmmxcuj1#
您应该使用Path Provider来访问设备上下载目录以外的内容,它是官方的Flutter插件,而且很容易使用。要使用Path Provider访问存储器上的文档目录,请使用以下命令:
Path Provider
Directory documents = await getApplicationDocumentsDirectory();
这将允许您在文档存储中存储文件,您可能需要添加访问存储的权限。对于android用途:
Directory documents = await getExternalStorageDirectory();
请记住,上述两个目录对用户都是可见的。
gopyfrb32#
获取路径
要访问Document目录,你应该使用Flutter插件来查找文件系统上常用的位置。最流行的是path_provider
iOS文件应用程序
对于用户设备上“文件”应用内应用文件夹中的下载文件,您应更新info. plist。UISupportsDocumentBrowser(布尔值- iOS)指定应用程序是基于文档的应用程序,并使用UIDocumentBrowserViewController类。如果此键设定为YES,则用户可以在“设置”中设定文稿浏览器的默认保存位置。此外,本地文件提供程序会赠款对应用程序的“文稿”目录中所有文稿的访问权限。这些文稿显示在“文件”应用程序和“文稿浏览器”中。用户可以就地打开和编辑这些文稿。iOS 11及更高版本支持此密钥。有关详细信息,请阅读文档:https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW37
axr492tv3#
<key>LSSupportsOpeningDocumentsInPlace</key> <true/> <key>UIFileSharingEnabled</key> <true/>
添加了这些键,并尝试了一堆东西,在这篇文章的时候。对我来说,解决方案当然是添加这两个键,并使用iOS 14(确切地说是14.1),而不是iOS 15。这是因为iOS 15不支持下载和存储在模拟器上的下载文件夹中的某种原因。
lc8prwob4#
新增UISupportsDocumentBrowser到信息plist并设置为true然后,您可以在file app中看到包含您的应用程序名称的文件夹。但需要用await getApplicationDocumentsDirectory();保存文件,以便在iOS中的文件应用程序中可用。欲了解更多信息,请访问
UISupportsDocumentBrowser
await getApplicationDocumentsDirectory();
4条答案
按热度按时间8mmmxcuj1#
您应该使用Path Provider来访问设备上下载目录以外的内容,它是官方的Flutter插件,而且很容易使用。
要使用
Path Provider
访问存储器上的文档目录,请使用以下命令:这将允许您在文档存储中存储文件,您可能需要添加访问存储的权限。
对于android用途:
请记住,上述两个目录对用户都是可见的。
gopyfrb32#
获取路径
要访问Document目录,你应该使用Flutter插件来查找文件系统上常用的位置。最流行的是path_provider
iOS文件应用程序
对于用户设备上“文件”应用内应用文件夹中的下载文件,您应更新info. plist。
UISupportsDocumentBrowser(布尔值- iOS)指定应用程序是基于文档的应用程序,并使用UIDocumentBrowserViewController类。
如果此键设定为YES,则用户可以在“设置”中设定文稿浏览器的默认保存位置。此外,本地文件提供程序会赠款对应用程序的“文稿”目录中所有文稿的访问权限。这些文稿显示在“文件”应用程序和“文稿浏览器”中。用户可以就地打开和编辑这些文稿。
iOS 11及更高版本支持此密钥。
有关详细信息,请阅读文档:https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW37
axr492tv3#
添加了这些键,并尝试了一堆东西,在这篇文章的时候。对我来说,解决方案当然是添加这两个键,并使用iOS 14(确切地说是14.1),而不是iOS 15。这是因为iOS 15不支持下载和存储在模拟器上的下载文件夹中的某种原因。
lc8prwob4#
新增
UISupportsDocumentBrowser
到信息plist并设置为true
然后,您可以在file app中看到包含您的应用程序名称的文件夹。
但需要用
await getApplicationDocumentsDirectory();
保存文件,以便在iOS中的文件应用程序中可用。
欲了解更多信息,请访问