2

如何在 iOS 上直接将图像选择为 jpg 或 png?如果此功能不可用:如何快速转换且无需等待很长时间?

编辑:我想防止选择 .heic 因为我必须将它发送到处理 jpg 和 png 而不是 .heic 的服务器

4

3 回答 3

2

感谢穆罕默德·阿萨德·阿尔沙德!可以通过 pub.dev/packages/file_picker 解决。

补充说明:

于 2020-06-08T10:13:41.470 回答
1

我使用文件选择器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}***');
}

现在您可以检查文件的扩展名,使用包 path.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 与源相机一起使用,请不要忘记做同样的事情。

于 2021-04-21T08:32:52.580 回答
-1

您可以使用multi_image_picker 4.6.7在 iOS 中为 HEIC 图像选择图像。

于 2020-06-04T09:02:46.877 回答