如何让用户从 Flutter 应用程序下载/保存文件?
Posted
技术标签:
【中文标题】如何让用户从 Flutter 应用程序下载/保存文件?【英文标题】:How to make user download/save file from the flutter app? 【发布时间】:2020-10-10 23:06:25 【问题描述】:我希望用户能够将由 Flutter 应用程序生成的 txt/doc/pdf 文件存储在他/她的手机上任何他/她想要的地方。例如,如果它是一个 webapp,这将通过发送 HTTP 头 Content-Disposition: attachment; filename=MyFileName.txt
来实现。在颤振应用中是否有可能?我尝试查看url_launcher
、flutter_downloader
、flutter_webview_plugin
或flutter_web_browser
包,但没有一个提供相关功能。我将不胜感激有关此问题的任何提示。
【问题讨论】:
看起来这可能有效:***.com/a/61495252/50962 不,不起作用 【参考方案1】:获取目录
您可以使用flutter_file_dialog 让用户使用此代码选择位置:
final params = SaveFileDialogParams(sourceFilePath: "path_of_file_to_save");
final filePath = await FlutterFileDialog.saveFile(params: params);
print(filePath);
保存文件
为此,只需使用 path_provider :https://flutter.dev/docs/cookbook/persistence/reading-writing-files
【讨论】:
当我从pubspec.yaml
的资产部分中注册的项目的根目录指定正确路径时,我收到一个异常,即找不到源文件。它必须是完整的设备路径吗?怎么可能得到一个?顺便说一句,tbh,如果我在获得filePath
之后撰写内容,我真的不明白为什么我需要指定sourceFilePath: "path_of_file_to_save"
。
资产和本地存储是两个不同的东西,在这里查看我的回复:***.com/a/62499275/5990125以上是关于如何让用户从 Flutter 应用程序下载/保存文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何让用户从 web 应用程序上的 firebase 存储下载图像?
从url下载pdf,在flutter中保存到android中的手机本地存储