Как записывать данные в файлы?

Пробую записать данные в файл (по пути: внутреннее хранилище/school) , но выходит ошибка, код:

import 'dart:async';
import 'dart:io';

import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
Future<String> get _externalPath async {
  final directory = await getExternalStorageDirectory();

  return directory.path;
}
Future<File> get _dbExportFile async {
  final path = await _externalPath;
  return File('$path/school/db.cvs');
}
Future exportDB() async {
  final file = await _dbExportFile;
  return file.writeAsString('test');
}

Ошибка:

Unhandled Exception: MissingPluginException(No implementation found for method getStorageDirectory on channel plugins.flutter.io/path_provider

Права в манифест добавил. Если что, то это всё в режиме дебага


Ответы (1 шт):

Автор решения: MiT

Выполните эту команду и запустите этот код:

flutter clean

import 'dart:async';
import 'dart:io';

import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';

static Future<Directory> get _getExternalStorageDirectory  async =>  await getExternalStorageDirectory();

uture<String> get _externalPath async {
  final directory = await _getExternalStorageDirectory;

  return directory.path;
}
Future<File> get _dbExportFile async {
  final path = await _externalPath;
  return File('$path/school/db.cvs');
}
Future exportDB() async {
  final file = await _dbExportFile;
  return file.writeAsString('test');
}

Если не поможет понизите версию плагина, возможно на данной версии есть баг.

Issues на GitHub

→ Ссылка