在flutter中保存一张内存图片(比如Uint8list)为图片文件

Save a memory image (such as Uint8list) as image file in flutter

我有一些 Uint8 列表,我想将它们保存为 jpg 文件。 我在网上搜索了很多,但一无所获! 有人可以帮忙吗?

谢谢,

'storage' 是指写入文件吗?你真的不需要“颤动”来做到这一点。只需使用 dart 提供的库即可。这是下载我的头像的示例,您可以将其作为 Uin8List 获取,然后将其保存到文件中。

import 'dart:io';
import 'dart:typed_data';

import 'package:http/http.dart' as http;

void main() {
  http.get('https://www.gravatar.com/avatar/e944138e1114aefe4b08848a46465589').then((response) {
    Uint8List bodyBytes = response.bodyBytes;
    File('my_image.jpg').writeAsBytes(bodyBytes);
  });
}

这是您问题的简单而简短的解决方案。像我一样在代码中使用这一行:

"SettableMetadata(contentType: "image/jpeg")," 

代码:

 if (kIsWeb) {
         await ref.putData(
          await imageFile.readAsBytes(),
           SettableMetadata(contentType: "image/jpeg"),
         );
         url = await ref.getDownloadURL();
         }