Как преобразовать изображение в base64 и base64 в изображение? То, как я это делаю, не работает

String a = new String("foo");
String b = new String("foo");
System.out.println(a == b); // prints false
System.out.println(a.equals(b)); // prints true

Убедитесь, что вы понимаете, почему. Это потому, что сравнение == сравнивает только ссылки; equals() метод сопоставляет содержимое по символу.

Когда вы вызываете new для a и b, каждый получает новую ссылку, указывающую на "foo" в таблице строк. Ссылки разные, но контент один и тот же.

2
задан Fabrizio 17 January 2019 в 09:47
поделиться

1 ответ

Нет, вы передаете содержимое изображения, чтобы создать новый файл с содержимым в виде необработанного пути, это не может работать.

new File.fromRawPath выполняет, в соответствии с документами :

Создает объект File из необработанного пути, то есть последовательность байтов, как представлено ОС.

Что вы хотите сделать, это создать файл и сохранить содержимое в этом файле, это можно сделать так ( Источник ):

var imageFile = File('myimage.jpg');
var sink = imageFile.openWrite();
sink.write(bytes);
await sink.flush();
await sink.close();
0
ответ дан maio290 17 January 2019 в 09:47
поделиться