Skip to main content

typed_file_validator 0.1.0-beta.1 copy "typed_file_validator: ^0.1.0-beta.1" to clipboard
typed_file_validator: ^0.1.0-beta.1 copied to clipboard

Constant-memory magic-byte validation for JPEG, PNG, and PDF files.

example/example.dart

import 'dart:io';

import 'package:typed_file_validator/typed_file_validator.dart';

Future<void> main(List<String> arguments) async {
  if (arguments.isEmpty) {
    stderr.writeln('Usage: dart run example/example.dart <path>');
    exitCode = 64;
    return;
  }

  final path = arguments.first;
  final file = File(path);
  final result = await FileValidator()
      .maxSizeInMB(10)
      .validate(FileBinarySource(file), fileName: path);

  switch (result) {
    case ValidFile(:final fileType, :final size):
      stdout.writeln('Valid ${fileType.label} file, size: $size bytes.');
    case InvalidFile(:final error):
      stderr.writeln('Invalid file: ${error.message}');
      exitCode = 1;
  }
}
1
likes
150
points
379
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Constant-memory magic-byte validation for JPEG, PNG, and PDF files.

Repository (GitHub)
View/report issues

Topics

#file-validation #security #mime #magic-bytes

License

MIT (license)

More

Packages that depend on typed_file_validator