Flutter桌面开发 - flutter-desktop-embedding如何将文件保存到硬盘

4

我已经在Flutter桌面上工作一段时间了,实现的UI、网络和内存缓存都很顺利。但现在我遇到了一个真正的问题,我找不到解决方法。是否有可能有一些开箱即用的功能可以将文件保存到硬盘上?我必须处理包含PDF文件的Base64并将其放置在硬盘上。我应该使用为移动设备准备的函数,还是这在Flutter桌面中更加复杂,需要我实现一个适用于该平台并将其公开给Flutter的正确功能?我主要针对Windows生态系统进行开发,如果更改了任何内容,只有另一种解决方案,我能想到的是准备Bash/PowerShell脚本来为我完成这项工作,但希望我不需要那么做 :)

编辑

我遇到的主要问题是我想检索用户文件夹的路径。 有人知道如何做到这一点吗?


你在保存文件方面具体遇到了什么问题?例如,File.write* 已经内置于 Dart 中。问题是决定在哪里保存它(例如,您是否需要像 path_provider 或 FDE 的 file_chooser 插件)? - smorgan
@smorgan 是的,问题在于提供用户目录的路径。 - Patryk Jabłoński
1个回答

0

最好的方法是使用平台通道。flutter-desktop-embedding项目托管了几个flutter/plugins插件的桌面实现, 虽然 path_provider 目前还不存在,但它肯定可以添加(已经有一个针对macOS实现的PR)。然后,您可以像在移动设备上一样使用 getApplicationDocumentsDirectory()

或者,您可以查看是否有环境变量可以提供您想要的数据,因为它们已经对Dart可用,但可能对操作系统版本/配置不够可靠。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接