image_validator 0.2.0 copy "image_validator: ^0.2.0" to clipboard
image_validator: ^0.2.0 copied to clipboard

A comprehensive Dart package for image file validation supporting JPEG, PNG, WebP, HEIF, and AVIF formats with robust validation for file integrity, dimensions, and file sizes.

example/main.dart

import 'dart:io';
import 'package:image_validator/image_validator.dart';

void main() async {
  final imageFile = File('path/to/your/image.jpeg');
  if (!imageFile.existsSync()) {
    print('❌ Error: File not found at ${imageFile.path}');
    print('Please update the file path in main.dart');
    return;
  }

  print('\n═══ Setting Up Validators ═══');
  print('Validators configured for all formats (JPEG, PNG, WebP, HEIF, AVIF)');
  final factory = ImageValidatorFactory(
    jpeg: [
      SizeValidator(imagetype: ImageType.jpeg, maxSizeInMB: 10, minSizeInMB: 2),
      DimensionValidator(
          imagetype: ImageType.jpg,
          minHeight: 100,
          minWidth: 100,
          maxHeight: 1000,
          maxWidth: 1000),
      CorruptValidator(imagetype: ImageType.jpg),
    ],
    png: [
      SizeValidator(imagetype: ImageType.png, maxSizeInMB: 10, minSizeInMB: 2),
      DimensionValidator(
          imagetype: ImageType.png,
          minHeight: 100,
          minWidth: 100,
          maxHeight: 1000,
          maxWidth: 1000),
      CorruptValidator(imagetype: ImageType.png),
    ],
    allowedtypes: [ImageType.jpeg, ImageType.png],
  );

  print('\n═══ Validating Image ═══');
  final result = await factory.validate(file: imageFile);

  print('\n═══ Validation Result ═══');
  if (result.isValid) {
    print('✓ Image validation passed!');
    print('  File type: ${result.fileType}');
    print('  File path: ${result.file?.path}');
    print('\n✅ Image is ready for upload or storage');
  } else {
    print('✗ Image validation failed!');
    print('  Error: ${result.errorMessage}');
    print('\n❌ Please fix the issue and try again');
  }

  print('═══ Image Type Detection ═══');
  final detector = ImageTypeDetector(
    type: DetectorType.hybrid,
    allowedtypes: [
      ImageType.jpeg,
      ImageType.jpg,
      ImageType.png,
      ImageType.webp,
      ImageType.heif,
      ImageType.avif
    ],
  );
  final imageType = detector.detect(imageFile);
  print('Detected type: $imageType');
  if (imageType == ImageType.unsupported) {
    print('\n❌ Error: Unsupported image type');
    print('Supported formats: JPEG, PNG, WebP, HEIF, AVIF');
    return;
  }
}
1
likes
160
points
135
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Dart package for image file validation supporting JPEG, PNG, WebP, HEIF, and AVIF formats with robust validation for file integrity, dimensions, and file sizes.

Repository (GitHub)
View/report issues

Topics

#image-validation #flutter #dart #file-validation #image-processing

Documentation

API reference

License

MIT (license)

More

Packages that depend on image_validator