如何将csv文件保存到flutter中的内部存储下载文件夹中?

Posted

技术标签:

【中文标题】如何将csv文件保存到flutter中的内部存储下载文件夹中?【英文标题】:How to save csv file into the internal storage downloads folder in flutter? 【发布时间】:2021-04-16 04:04:41 【问题描述】:

我正在生成一个 CSV 文件并保存如下,

String dir = '';
if (Platform.isandroid)
  dir = (await getExternalStorageDirectory()).path;
else if (Platform.isios) 
  dir = (await getApplicationDocumentsDirectory()).path;

File file = File("$dir/" +
    "test" +
    DateTime.now().millisecondsSinceEpoch.toString() +
    ".csv");
String csv = const ListToCsvConverter().convert(rows);
file.writeAsString(csv);

但我想将其保存到内部存储下载文件夹中。我怎样才能做到这一点?它不是 url 文件,它是在应用程序本身中生成的。如何在通知栏中显示下载的文件?

【问题讨论】:

***.com/a/54319575/5546443 这能回答你的问题吗? How to get the (absolute) path to the Download folder? @krishnakumarcn 看到我的文件正在保存。但我想把它保存在下载文件夹中。 pub.dev/packages/downloads_path_provider 这个包对你有用。即使他们在内部使用带有一些标志的 path_provider 来获取下载文件夹。但这将是一个更快的解决方案。 @krishnakumarcn 这个可以在 iOS 上运行吗?是否会保存在 iOS 中? 【参考方案1】:

你可以使用path_provider_ex包

你可以使用上面的包获取内部存储目录列表以及外部存储(SD卡)目录

这个包给你一个根目录,一旦你有了根目录,你就可以从内部和外部存储访问任何文件夹

查看示例:https://pub.dev/packages/path_provider_ex/example

注意不要忘记授予访问存储所需的存储权限

【讨论】:

以上是关于如何将csv文件保存到flutter中的内部存储下载文件夹中?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用unity3d在Windows Phone的内部存储中创建文件并将其保存到目录中

将文件存储在 Flutter 中的 Android 101112+ 下载文件夹中。

如何使用 project-lib 将 csv 文件保存到云对象存储?

Flutter 如何将图像文件保存到图库中的新文件夹?

从url下载pdf,在flutter中保存到android中的手机本地存储

Flutter:如何将 Canvas/CustomPainter 保存到图像文件中?