androidiosflutterdartimagepicker

Rename a file or image in Flutter


I am picking an image from gallery/taking a photo using the image_picker: ^0.6.2+3 package.

File picture = await ImagePicker.pickImage(
  maxWidth: 800,
  imageQuality: 10,
  source: source, // source can be either ImageSource.camera or ImageSource.gallery
  maxHeight: 800,
);

And I get picture.path as

/Users/[some path]/tmp/image_picker_A0EBD0C1-EF3B-417F-9F8A-5DFBA889118C-18492-00001AD95CF914D3.jpg

Now I want to rename the image to case01wd03id01.jpg.

Note: I don't want to move it to new folder

How can I rename it? I could not find it in the official documentation.


Solution

  • First import the path package.

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

    Then create a new target path to rename the file.

    File picture = await ImagePicker.pickImage(
            maxWidth: 800,
            imageQuality: 10,
            source: ImageSource.camera,
            maxHeight: 800,
    );
    print('Original path: ${picture.path}');
    String dir = path.dirname(picture.path);
    String newPath = path.join(dir, 'case01wd03id01.jpg');
    print('NewPath: ${newPath}');
    picture.renameSync(newPath);