У меня есть поле varbinary (max) в Microsoft SQL Server, которое содержит изображение.
При запуске «ВЫБРАТЬ ИЗОБРАЖЕНИЕ ИЗ ТАБЛИЦЫ» я получаю результат, который выглядит как «0x07FD30 ....»
При использовании go для извлечения данных я получаю ту же шестнадцатеричную строку, которая сохраняется как байт []:
type Person struct {
PersonID string
Image []byte
}
Я подключаюсь к базе данных и выполняю:
rows.Scan(&person.PersonID, &person.Image)
А затем выведите результат в шестнадцатеричном виде, он такой же:
fmt.Printf("%#x", p.Image)
Результат:
0x07fd30...
Мой вопрос: как мне превратить это обратно в изображение?
Я пытался записать необработанные байты в файл:
ioutil.WriteFile("./tempfile.png", p.Image, 0644)
Я пытался использовать библиотеку изображений для ее декодирования, что просто приводит к ошибкам с неопознанным видом:
image.Decode(bytes.NewReader(p.Image))
А также пытался png.Encode
тоже.
Любые мысли или указатели в правильном направлении очень приветствуются.
Большое спасибо заранее.