@a63826ndrew
Студент, новичок в Python

Как записать в поток изображение?

Здравствуйте!
Есть приложение и сервер, оба написаны на языке C#. Приложение отправляет серверу sql-запрос, сервер его получает, вытаскивает из базы данных сами данные (в моем случае это картинка), отправляет эти данные приложению, и потом в самом приложении я могу сделать с ними что нужно.
string foto = (string)Reader["Image"];
                                        byte[] image = Convert.FromBase64String(foto);
                                        Console.WriteLine(image);
                                        stream.Write(image, 0, image.Length);
                                        stream.Flush();

Приведенный кусок кода реализует взятие картинки из базы данных в виде строковой переменной, конвертацию строковой переменной в массив байт и запись этого массива байт в поток для передачи приложению, но при отладке было обнаружено, что массив байт не записывается в поток, при тщательном изучении было обнаружено, что для двух свойств потока stream, а именно 'stream.Length' и 'stream.Position' вылезло исключение:
This stream does not support seek operations

Каким образом можно это обработать и записать массив в поток?
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
@TKhametov
В вашем примере не совсем понятно, какой тип потока вы используете. Разные потоки используются для разных целей. В данном случае ваш поток не поддерживает поиск и перемещение внутри потока. Если вы используете поток, наследуемый от абстрактного класса Stream, то можете воспользоваться его свойством CanSeek, которое показывает, поддерживается ли функционал поиска и перемещения внутри потока.

К сожалению, по вашему примеру не совсем понятно какой тип потока вы используете. Можете попробовать использовать универсальный класс MemoryStream, поддерживающий операции перемещения внутри потока.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы