saveImageWithPath method

Future<AssetEntity> saveImageWithPath(
  1. String inputFilePath, {
  2. String? title,
  3. String? desc,
  4. String? relativePath,
  5. int? orientation,
  6. double? latitude,
  7. double? longitude,
  8. DateTime? creationDate,
})

Implementation

Future<AssetEntity> saveImageWithPath(
  String inputFilePath, {
  String? title,
  String? desc,
  String? relativePath,
  int? orientation,
  double? latitude,
  double? longitude,
  DateTime? creationDate,
}) async {
  _throwIfOrientationInvalid(orientation);
  final File file = File(inputFilePath);
  if (!file.existsSync()) {
    throw ArgumentError('The input file $inputFilePath does not exists.');
  }

  final filePath = file.absolute.path;
  title = title?.trim();
  if (title == null || title.isEmpty) {
    title = path.basename(filePath);
  }

  final Map result = await _channel.invokeMethod(
    PMConstants.mSaveImageWithPath,
    <String, dynamic>{
      'path': filePath,
      'title': title,
      'desc': desc,
      'relativePath': relativePath,
      'orientation': orientation,
      'latitude': latitude,
      'longitude': longitude,
      'creationDate': creationDate?.millisecondsSinceEpoch,
      ...onlyAddPermission,
    },
  );
  return ConvertUtils.convertMapToAsset(result.cast(), title: title);
}