gpt4 book ai didi

dart - 如何将图像转换为 base64 以及将 base64 转换为图像?我这样做的方式不起作用

转载 作者:IT王子 更新时间:2023-10-29 06:43:19 26 4
gpt4 key购买 nike

这是一个示例代码。

var image = await ImagePicker.pickImage(source: ImageSource.camera);
var stringBytes = base64.encode(image.readAsBytesSync());
var bytes = base64.decode(stringBytes);
var newImage = new File.fromRawPath(bytes);
I/flutter (14608): The following FileSystemException was thrown resolving an image codec:
I/flutter (14608): Cannot open file, path = '����*�Exif
I/flutter (14608):
I/flutter (14608):
I/flutter (14608): Business
I/flutter (14608): 11:42:34
I/flutter (14608): �
I/flutter (14608):
I/flutter (14608): ��
I/flutter (14608): ��
I/flutter (14608): %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz���������������������������������������������������������������������������
I/flutter (14608): ��
I/flutter (14608): $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������
I/flutter (14608): ��ت���U-%�����^
I/flutter (14608): }�m���
I/flutter (14608): u���V�N6R���
I/flutter (14608): j_8}W,1�ڹ�?ܻw^��� ��6��ꗚm���E[ϓ�������>���X�W��y������=�[!��2!ډ�'8�Mk^ܾ��eS�

未知字符列表继续。

我做错了什么?

我想在 base64 中转换它,因为我要将它添加到数据库中。

最佳答案

不,您正在传递图像的内容以创建一个将内容作为原始路径的新文件,这是行不通的。

new File.fromRawPath 确实如此,根据 docs :

Creates a File object from a raw path, that is, a sequence of bytes as represented by the OS.

你想要做的是创建一个文件并将内容存储到该文件中,这可以像这样完成(Source):

var imageFile = File('myimage.jpg');
var sink = imageFile.openWrite();
sink.write(bytes);
await sink.flush();
await sink.close();

关于dart - 如何将图像转换为 base64 以及将 base64 转换为图像?我这样做的方式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54233038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com