Как записать значение типа зашифрованных данных в файл во флаттере - PullRequest
0 голосов
/ 12 апреля 2020

Я просто использовал следующий код для генерации зашифрованного значения строки base64:

final encrypted = encrypter.encrypt(base64String, iv: iv);

Я использовал этот пакет для использования вышеуказанного кода: https://pub.dev/packages/encrypt

Теперь я хочу сохранить эти данные в облачном хранилище Firebase, поэтому мне нужно поместить эти данные в файл, но я не знаю, как записать в файл значение типа Encrypted.

Пожалуйста, помогите мне с этим. Спасибо

1 Ответ

1 голос
/ 12 апреля 2020

Вы можете записать строку в файл как:

Future<File> writeData(string data) async {
  final file = await _localFile;

  // Write the file.
  return file.writeAsString('$data');
}

, где _localFile получен как:

Future<String> get _localPath async {
  final directory = await getApplicationDocumentsDirectory();

  return directory.path;
}

Future<File> get _localFile async {
  final path = await _localPath;
  return File('$path/filename.txt');
}

Более подробная информация доступна здесь .

Размещение локального файла в облачном хранилище Firebase является простой задачей. Что-то вроде следующего должно сделать:

Future<void> _uploadFile(File file, String filename) async {
    StorageReference storageReference = FirebaseStorage.instance.ref().child("files/$filename");
    final StorageUploadTask uploadTask = storageReference.putFile(file);
    final StorageTaskSnapshot downloadUrl = (await uploadTask.onComplete);
    final String url = (await downloadUrl.ref.getDownloadURL());
    print("URL is $url");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...