packages
packages copied to clipboard
[cross_file] Update `XFile.fromData` with `_browserBlob`
Introduction
Future<XFile> execute(XFile imageFile) async {
try {
final Uint8List imageBytes = await imageFile.readAsBytes();
final Image? image = decodeNamedImage(imageBytes, imageFile.name);
final Image compressedImage = copyResize(
image!,
width: params.value2 ?? image.width,
);
final Uint8List compressedImageBytes = Uint8List.fromList(
encodeJpg(compressedImage, quality: params.value3 ?? 100),
);
final XFile compressedImageFile = XFile.fromData(
compressedImageBytes,
name: '${imageFile.name}.jpeg',
path: kIsWeb ? null : '${imageFile.path}.jpeg',
mimeType: 'image/jpeg',
);
return compressedImageFile;
} catch (e) {
Logger().e(e);
return Left(Exception(e));
}
}
Pre-launch Checklist
- [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
- [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
- [ ] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use
dart format
.) - [x] I signed the CLA.
- [ ] The title of the PR starts with the name of the package surrounded by square brackets, e.g.
[shared_preferences]
- [ ] I listed at least one issue that this PR fixes in the description above.
- [ ] I updated
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes. - [ ] I updated
CHANGELOG.md
to add a description of the change, following repository CHANGELOG style. - [ ] I updated/added relevant documentation (doc comments with
///
). - [ ] I added new tests to check the change I am making, or this PR is test-exempt.
- [ ] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel on Discord.