【问题标题】:Xamarin Forms how to Save a file to a location where it can be copied off of the original deviceXamarin Forms 如何将文件保存到可以从原始设备复制的位置
【发布时间】:2020-01-27 16:47:11
【问题描述】:

我的 Xamarin 表单应用程序需要用户执行一定数量的配置才能使用。此外,该应用程序可以由同一用户在多台计算机上运行(这样做有正当的商业原因。)我想做的是将应用程序的配置备份到一个文件中,然后可以在另一台设备以完全相同的方式在新设备上自动配置应用程序。这将防止用户在他们希望运行应用程序的每台设备上重新输入所有配置信息。

注意事项:

  • 它需要在所有受支持的 Xamarin Forms 平台上工作 - UWP、Android、iOS 和 Mac。
  • 应用本身不需要设备有网络连接。
  • 文件需要保存在用户可以访问/复制到其他设备(即 USB 驱动器、网络共享等)的位置

我尝试过的:

  • 我已尝试使用 FilePicker 插件,但无法将其保存到应用程序之外的任何位置。 (试图在此处找到该文件夹​​的用户并不容易。)保存其他任何地方我收到拒绝访问错误。
  • 我曾尝试使用 System.IO 命名空间,但在将文件保存到应用程序外部的某个位置时遇到了相同的访问被拒绝错误。

我想我最后的手段是在 XF 编辑器控件等中显示配置信息,或者只是将其复制到剪贴板(如果可能的话)并让用户手动将数据保存到应用程序外部的文件中。有没有人对如何处理这个问题有任何其他建议?

【问题讨论】:

  • 不,我认为您不能将已安装应用程序中的文件复制到 USB 中。您可以将这些配置上传到服务器端并每次下载。(如果用户没有网络连接,则此选项不起作用)

标签: xamarin.forms access-denied system.io.file


【解决方案1】:

因此,在尝试了多种方法并查看了可能的解决方案后,我找不到一种轻松做到这一点的方法。相反,我使用了 Xamarin Essentials 剪贴板功能并将文件的内容复制到剪贴板中。然后我向用户显示一条消息,告诉他们将剪贴板内容粘贴到文件中。这似乎是我目前能做的最好的事情了。

【讨论】:

    猜你喜欢
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    相关资源
    最近更新 更多