【问题标题】:Flutter Desktop - flutter-desktop-embedding how to save file to a hard driveFlutter Desktop - flutter-desktop-embedding 如何将文件保存到硬盘
【发布时间】:2020-01-04 13:23:52
【问题描述】:

我在 Flutter 桌面上工作了一段时间,实施过程中一切顺利。到目前为止,我只实现了 UI、网络和内存缓存。现在我开始面临一个我无法找到解决方案的真正问题。是否有一些开箱即用的可能性将文件保存到硬盘驱动器?我必须处理包含 PDF 文件的 base64 并将其放在硬盘上的某个位置。我是否应该使用为移动设备准备的功能,或者这在 Flutter for desktop 中更复杂,我必须为平台实现适当的功能并将其公开给 Flutter?如果这有任何改变,我主要针对 Windows 生态系统。我想到的唯一另一个解决方案是准备 bash/power-shell 脚本来为我执行此操作,但希望我不需要这样做:)

编辑

我在这里遇到的主要问题是我想检索用户文件夹的路径。有人知道怎么做吗?

【问题讨论】:

  • 您在保存文件的哪个方面特别有问题?例如,File.write* 内置在 Dart 中。问题在于决定将其保存在哪里(即,您是否想要 path_provider 或 FDE file_chooser 插件之类的东西)?
  • @smorgan 是的,问题在于提供用户目录的路径

标签: windows flutter flutter-desktop


【解决方案1】:

最好的方法是使用平台频道。 flutter-desktop-embedding 项目托管desktop implementations of several flutter/plugins plugins,虽然path_provider 不是最新的,但它肯定可以添加(已经有一个 macOS 实现的 PR)。然后,您可以像在移动设备上一样使用getApplicationDocumentsDirectory()

或者,您可以查看是否有环境变量可以为您提供所需的数据,因为 Dart 已经可以访问它们,但跨操作系统版本/配置可能不那么可靠。

【讨论】:

    猜你喜欢
    • 2019-11-23
    • 2018-08-18
    • 1970-01-01
    • 2021-09-11
    • 2021-01-26
    • 2020-10-12
    • 2019-12-03
    • 2020-09-09
    • 1970-01-01
    相关资源
    最近更新 更多