Как написать файл изображения PNG из BLOB? - PullRequest
0 голосов
/ 13 декабря 2018

Я получил этот код для создания и записи файла из Oracle BLOB в PNG файл изображения

try {
    final File file = new File("C:/Users/John.Doe/Desktop/PDF Templates/POC/output/" + pdfObject.getFileName());
    final FileWriter fileWriter = new FileWriter(file);

    fileWriter.write(pdfObject.getContent());  << a String of the PNG content, see below:
    fileWriter.flush();
    fileWriter.close();
} catch (final IOException e) {
    e.printStackTrace();
}

PNG Содержимое файла:

�PNG

IHDR<binary code> .....

После того, как я запустил этот код, изображение не создано должным образом, это означает, что, когда я пытаюсь открыть его, используя Microsoft Photos, он говорит: «Похоже, мы не поддерживаем этот формат файла»

Кроме того, исходный размер файла меньше нового, созданного с помощью приведенного выше кода.

Что я здесь не так делаю?

1 Ответ

0 голосов
/ 13 декабря 2018

Изображение png не является читаемым человеком текстом, и оно будет повреждено, если вы попытаетесь представить его как строку и использовать FileWriter.

Вместо этого вы должны получить содержимое большого двоичного объекта в виде массива байтов илив качестве InputStream и используйте FileOutputStream для записи его в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...