wizy@2020 Ответов: 1

Как получить 3 различных изображения (в байтах) из входного потока


Привет,

Приведенный ниже код получает общее количество байтов из входного потока для 1 изображения
Дим Байт,Двоичный
Байты = Запрос.TotalBytes()
Двоичный Код = Запрос.BinaryRead(Байты)

Теперь мой входной поток содержит 3 различных изображения (в байтах).
Как мне получить каждое изображение или получить каждую позицию изображения и сохранить ее в базе данных SQL

Спасибо

Что я уже пробовал:

Дим Байт,Двоичный
Байты = Запрос.TotalBytes()
Двоичный Код = Запрос.BinaryRead(Байты)

Richard Deeming

Вы ищете Запрос.Файлы[^] коллекция?

wizy@2020

Нет пожалуйста

1 Ответов

Рейтинг:
9

OriginalGriff

В принципе, если у вас нет другой информации, вы не можете. Если вы знаете размер (x и y) изображения - и формат, в котором они отправляются - то вы можете быть в состоянии сделать это, но только с "потоком, содержащим три изображения" вы фактически сводитесь к угадыванию.

A stream of bytes is just that: and image data is just a set of bytes, containing pretty much any value. If the data is a compressed format (basically anything that doesn't have a .BMP extension) then even the x and y size of the image(s) doesn't help you because the file size is not directly related to the image size but the image content and it's compressibility using the compression algorithm for that specific format. It's possible that you might be able to "spot" the various image file type headers in the data and work it out from that, but that's not automatically reliable as the image data (compressed or uncompressed) can contain any values - including the file type headers!

Я бы начал с того, чтобы вернуться туда, откуда вы получаете поток, и посмотреть, не "упаковывают" ли они данные файла каким - либо образом или предоставляют лучшую информацию о потоке и его содержании-в данный момент вы копаетесь в темноте и склонны "решить проблему" таким образом, который позже потерпит неудачу.