Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Передача массива как поля объекта при помощи XmlSerializer

88K
01 июня 2014 года
NetFR
5 / / 01.06.2014
Добрый день. Есть класс-оболочка БД "Data".

 
Код:
public class Data
    {
        public string Command
        { get; set; }
        public byte[] Product_Image
        { get; set; }
Для передачи параметров между клиентом и сервером использую xml-сериализацию.

Код:
Data obj = new Data();
            obj.Command = "Insert_Product";
            string fileName = openFileDialog1.FileName;
            if (fileName != "openFileDialog1")
            {
                Image image = Image.FromFile(fileName);
                MemoryStream memoryStream = new MemoryStream();
                image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp);
                obj.Product_Image = memoryStream.ToArray();
            }
            byte[] msg = Client.Serialize(obj);
            Client.SendMessageReturnData(11000, msg);
Ошибка возникает при десериализации объекта на стороне сервера (не считая исключений вида "16-ное значение 0х00 является недопустимым").
Быть может я некорректно передаю или записываю?



Как я понял вообще сериализовать массив байт как поле при помощи XmlSerializer нельзя. Пробовал передавать в виде Image, но экземпляр ругается на "нежданный" тип данных Image.

Собственно, вопрос: каким образом можно передать картинку как поле объекта (и в каком виде), по возможности не прибегая к небезопасному коду?
88K
03 июня 2014 года
NetFR
5 / / 01.06.2014
В общем проблема все еще существует, но в ином роде: сериализация отрабатывает, массив байт получается, но при передаче серверу большая часть данных не доходит. Другими словами: отправил массив в 175 кб, принял на сервере 25 кб, отсюда и ошибка. В чем может быть проблема?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог