如何在iOS上直接选择图像作为jpg或png? 如果此功能不可用:如何快速转换它而不必等待很长时间?
编辑:我想防止挑选.heic,因为我必须将其发送到处理jpg和png而不是.heic的服务器
感谢穆罕默德·阿萨德·阿尔沙德! 可以通过 pub.dev/packages/file_picker 来解决。
补充说明:
- https://pub.dev/packages/file_picker 允许您选择文件/图像等,并且图像的文件类型.jpg
- https://pub.dev/packages/multi_image_picker 也允许您选择图像,但采用原始文件格式; 例如.heic,.jpg.png
我使用文件选择器 https://pub.dev/packages/file_picker 选择图像
FilePickerResult result;
try {
result = await FilePicker.platform.pickFiles(
type: FileType.custom,
allowedExtensions: ['jpeg', 'jpg', 'heic', 'pdf'],
);
} catch (e) {
print('Exep: ****${e}***');
}
现在您可以检查文件的扩展名,使用包路径.dart作为P和包 https://pub.dev/packages/heic_to_jpg 将图像转换为JPEG
File file = File(result.files.first.path);
String fileExtension = p.extension(file.path).replaceAll('.', '');
if (fileExtension == 'heic') {
print('convert to jpeg');
String jpegPath = await HeicToJpg.convert(file.path);
file = File(jpegPath);
fileExtension = 'jpeg';
}
不要忘记,如果您将imagePicker与源相机一起使用,请执行相同的操作。
您可以使用multi_image_picker 4.6.7在iOS中为HEIC图像选择图像。