Как я могу скопировать файл в память? - PullRequest
1 голос
/ 01 мая 2020

Я использую пакет Image Picker и хочу сохранить какой-то кэш оригинального изображения, которое было загружено, чтобы, когда пользователь хочет внести изменения в изображение, он мог просто загрузить его из кеша. Как бы я это сделал?

  Future<void> pickImage(ImageSource source, {ImagePickerSettings settings}) async {
    settings = settings ?? ImagePickerSettings();
    _state = LoadingState.loading;
    notifyListeners();
    _image = await ImagePicker.pickImage(
        source: source,
        maxWidth: settings.maxWidth,
        maxHeight: settings.maxHeight,
        imageQuality: settings.imageQuality);
    // _iamgeCache = a copy of _image
    _state = LoadingState.loaded;
    notifyListeners();
  }

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете использовать cache_image

Плагин Flutter для загрузки и кэширования сетевых образов или хранилищ Firebase с механизмом повторных попыток в случае сбоя загрузки.

Это Пакет поддерживает загрузку изображений из стандартного сетевого пути и из gs-пути хранилища Firebase.

Изображения хранятся во временном каталоге приложения.

Пример:

FadeInImage(
  fit: BoxFit.cover,
  placeholder: AssetImage('assets/placeholder.png'),
  image: CacheImage('gs://testing-9ea12.appspot.com/bake-1706051_1920.jpg')
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...