将 uint8list 图像转换为支持的图像文件(jpg 或等)

Convert uint8list image to a supported Image file(jpg or etc.)

在 android 10 和 11(SDK 编号 29 和 30)中,音乐封面(艺术作品)格式与以前的版本不同,事实上,它们作为受支持的图像文件不可读,例如作为 jpg 或 png,它们是 uint8lists,只有 Image.memory 小部件接受并显示它们。

现在,我的问题是我不想将它们作为内存图像读取,我需要 jpg 等文件。

搜索了很多!看了很多,发现只有1个,解决不了! 那就是将 unit8list 写为文件中的字节,它的路径以“.jpg”结尾。 正如我所说,它不起作用。

有人可以帮忙吗?

提前致谢,<3。

final io.File image = File('directory/image.jpg').create();
image.writeAsBytesSync(uint8list);

uint8list 样本:[255、216、255、224、0、16、74、70、73、70、0、1、1、0、0、1、0、1、0、0、255 , 226, 2, 40, 73, 67, 67, 95, 80, 82 ,...]

长度:千

要将Uint8list写成文件,可以使用File(String).writeAsBytes(Uint8list);。您可以在 File 对象上设置路径和文件扩展名,并在 writeAsBytes()

上传递图像字节
Uint8List imageBytes;
File('image.jpg').writeAsBytes(imageBytes);