diff --git a/pkgs/mime/CHANGELOG.md b/pkgs/mime/CHANGELOG.md index fd5a24905c..cf0fc9df41 100644 --- a/pkgs/mime/CHANGELOG.md +++ b/pkgs/mime/CHANGELOG.md @@ -1,3 +1,6 @@ +## 2.0.1 +* Add `image/x-canon-cr2` mimeType lookup by extension and header bytes. + ## 2.0.0 * **[Breaking]** `extensionFromMime(String mimeType)` returns `null` instead of `mimeType` for an unknown mime type. diff --git a/pkgs/mime/lib/src/default_extension_map.dart b/pkgs/mime/lib/src/default_extension_map.dart index 287c957dc5..59536a0b98 100644 --- a/pkgs/mime/lib/src/default_extension_map.dart +++ b/pkgs/mime/lib/src/default_extension_map.dart @@ -131,6 +131,7 @@ const Map defaultExtensionMap = { 'cpio': 'application/x-cpio', 'cpp': 'text/x-c', 'cpt': 'application/mac-compactpro', + 'cr2': 'image/x-canon-cr2', 'crd': 'application/x-mscardfile', 'crl': 'application/pkix-crl', 'crt': 'application/x-x509-ca-cert', diff --git a/pkgs/mime/lib/src/magic_number.dart b/pkgs/mime/lib/src/magic_number.dart index c8b5c3be13..0931b21ea3 100644 --- a/pkgs/mime/lib/src/magic_number.dart +++ b/pkgs/mime/lib/src/magic_number.dart @@ -103,6 +103,9 @@ const List initialMagicNumbers = [ MagicNumber('image/gif', [0x47, 0x49, 0x46, 0x38, 0x39, 0x61]), MagicNumber('image/jpeg', [0xFF, 0xD8]), MagicNumber('image/png', [0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A]), + MagicNumber('image/x-canon-cr2', // Since CR2 is based on tiff, this MagicNumber needs to be above `image/tiff` + [0x49, 0x49, 0x2A, 0x00, 0x10, 0x00, 0x00, 0x00, 0x43, 0x52, 0x02], +mask: [0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF]), MagicNumber('image/tiff', [0x49, 0x49, 0x2A, 0x00]), MagicNumber('image/tiff', [0x4D, 0x4D, 0x00, 0x2A]), MagicNumber('audio/aac', [0xFF, 0xF1]),