Flutter Web 上的图像压缩时间太长

Image compression takes too long on Flutter Web

我尝试使用以下代码(使用 image_compression_flutter 包)压缩网络图像,但是压缩 6 mb 图像大约需要 1 分钟。

Future<Uint8List?> compressImage(Uint8List imgBytes,
    {required String path, int quality = 70}) async {
 final input = ImageFile(
    rawBytes: imgBytes,
    filePath: path,
  );
  Configuration config = Configuration(
    outputType: ImageOutputType.jpg,
    // can only be true for Android and iOS while using ImageOutputType.jpg or ImageOutputType.pngÏ
    useJpgPngNativeCompressor: false,
    // set quality between 0-100
    quality: quality,
  );
  final param = ImageFileConfiguration(input: input, config: config);
  final output = await compressor.compress(param);
  return output.rawBytes;
}

是不是因为网络限制,压缩了这么长时间? 关于这个问题有什么解决方法

最终,我找到了压缩网页图片的解决方案。图像选择器现在有 XFile 类型,可以直接在 web 中压缩。将一张12mb的图片压缩到50kb用了大约2秒

 final XFile? pickedImageFile = await ImagePicker().pickImage(
    source: isCamera ? ImageSource.camera : ImageSource.gallery,
    imageQuality: imageQuality,
    maxWidth: maxWidth,
    preferredCameraDevice: CameraDevice.rear); 

上传到服务器时无需将 XFile 转换为任何类型。只需要从 pickedImageFile

读取字节
   await pickedImageFile.readAsBytes();