convertHeicToJpeg method

  1. @override
Future<File> convertHeicToJpeg(
  1. File file
)
override

Implementation

@override
Future<File> convertHeicToJpeg(File file) async {
  try {
    final response = await web.window.fetch(file.path.toJS).toDart;
    final blob = await response.blob().toDart;

    final isHeic =
        blob.type.toLowerCase().contains('heic') ||
        blob.type.toLowerCase().contains('heif') ||
        file.path.toLowerCase().contains('.heic') ||
        file.path.toLowerCase().contains('.heif');

    if (!isHeic) {
      return file;
    }

    final convertedBlob = await _convertHeicBlob(blob);
    final objectUrl = web.URL.createObjectURL(convertedBlob);

    return File(objectUrl);
  } catch (e) {
    if (kDebugMode) {
      print('[FlutterImageConversion] Web conversion failed: $e');
    }
    return file;
  }
}