Flutter命令行工程中在macOS下取Download目录

命令行工程中不能使用path_provider,path_provider需要Flutter包的支持。

用"~/Downloads",经测试也不行,如下代码执行失败。

var response = await dio.download(href,savePath);

最后的解决方案是用macOS的命令id -un 先取得用户名,再拼出Downloads的绝对路径来。

  String saveDir;
  {
    final runResult = await Process.run('id', ['-un']);
    final userRaw = runResult.stdout as String;
    //返回的字符串最后有一个"\n"要处理掉
    String userName = userRaw.trim();
    saveDir = '/Users/$userName/Downloads';
  }

你可能感兴趣的:(Flutter,flutter,macos)