无法在Flutter中覆盖文件

时间:2019-06-29 07:50:54

标签: android image file flutter io

  Future<Null> pickImageFromGallery() async {
    String path = (await getApplicationDocumentsDirectory()).path;
    File imageExist = new File(path + '/image1.png');
    if(await imageExist.exists()) {
      imageExist.delete();
    }

    File imageFile = await ImagePicker.pickImage(source: ImageSource.gallery);
    if(imageFile == null) return;
    File newImage = await imageFile.copy('$path/image1.png');
    setState(() {
      this.categoryIcon = newImage;
    });
  }

我正在创建一个允许用户选择项目图标的应用程序。我正在使用图像选择器来允许用户选择图像。当用户选择图像时,我要覆盖app目录中的文件。

但是使用该代码,每次选择新图像时,我都会得到相同的文件图像。看来图像无法替换。

1 个答案:

答案 0 :(得分:1)

您可能只需要清除缓存。

import 'package:flutter/services.dart';

imageCache.clear();