Flutter 如何让用户从Flatter应用程序下载/保存文件?

Flutter 如何让用户从Flatter应用程序下载/保存文件?,flutter,dart,download,Flutter,Dart,Download,我希望用户能够将颤振应用程序生成的txt/doc/pdf文件存储在他/她的手机上的任何位置。例如,如果它是一个webapp,那么可以通过发送HTTP头内容Disposition:attachment;filename=MyFileName.txt。在颤振应用中有可能吗?我试着查看url_启动器、Flatter_downloader、Flatter_webview_插件或Flatter_web_浏览器包,但没有一个提供相关功能。如果您能提供有关此问题的任何提示,我将不胜感激。获取目录 您可以使用以

我希望用户能够将颤振应用程序生成的txt/doc/pdf文件存储在他/她的手机上的任何位置。例如,如果它是一个webapp,那么可以通过发送HTTP头内容Disposition:attachment;filename=MyFileName.txt。在颤振应用中有可能吗?我试着查看url_启动器、Flatter_downloader、Flatter_webview_插件或Flatter_web_浏览器包,但没有一个提供相关功能。如果您能提供有关此问题的任何提示,我将不胜感激。

获取目录

您可以使用以下代码让用户选择位置:

final params = SaveFileDialogParams(sourceFilePath: "path_of_file_to_save");
final filePath = await FlutterFileDialog.saveFile(params: params);
print(filePath);
保存文件


为此,只需使用路径_provider:

看起来这可能会起作用:不,不起作用。当我从pubspec.yaml的assets部分中注册的项目根目录中指定正确路径时,我发现一个异常,即找不到源文件。它必须是完整的设备路径吗?怎么可能得到一个呢?顺便说一句,tbh,我真的不明白为什么我需要指定sourceFilePath:path\u of_file\u to_save,如果我在获取文件路径后编写内容。资产和本地存储是两个不同的东西,请参见我的回答: