Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
angelaburova
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 1
#1

Преобразовать byte[] в mp4 файл - C#

30.10.2016, 20:05. Просмотров 198. Ответов 0
Метки нет (Все метки)

Здравствуйте. Моя проблема заключается в том, что я хочу передать файл .mp4 от клиента к серверу. Сначала я конвертирую файл в массив байт, затем мне нужно сделать обратное действие на сервере. Что я делаю не так?
Файл передается, и вроде даже конвертируется, но он больше чем исходный и не воспроизводится.

Клиент:
C#
1
2
3
4
5
6
7
8
9
10
11
12
 FileInfo file = new FileInfo(path_android);
            byte[] arr=new byte[file.Length];
            FileStream fs2 = new FileStream(path_android,FileMode.Create);
            BinaryReader b = new BinaryReader(fs2);
            b.Read(arr,0,Convert.ToInt32(file.Length));
           fs2.Close();
           TcpClient client = new TcpClient();
           client.Connect(ipAddr, port);
           NetworkStream stream = client.GetStream();
           stream.Write(arr, 0, Convert.ToInt32(file.Length));
           stream.Close();
           client.Close();
Сервер:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
listener = new TcpListener(ipAddr, port);
listener.Start();
client = listener.AcceptTcpClient();
 do
 {
                bytes = stream.Read(data_read, 0, data_read.Length);
                response.Append(data_read);
 }
 while (stream.DataAvailable);
stream.Close();
client.Close();
str = new FileStream(path, FileMode.Create, FileAccess.Write);
 b = new BinaryWriter(str);
            
b.Write(data_read);
            str.Close();
Добавлено через 3 часа 16 минут
Сделала проще и передаю теперь сначала размер файла, однако все равно не воспроизводится файл..
Клиент:
C#
1
2
3
4
5
6
7
 byte[] arr=new byte[file.Length];
         arr=File.ReadAllBytes(path_android);//преобразуем файл в массив байт
         TcpClient client = new TcpClient();
         client.Connect(ipAddr, port);
         NetworkStream stream = client.GetStream();
         stream.Write(mes,0,mes.Length);//пишем в поток длину файла
         stream.Write(arr, 0, client.SendBufferSize);//пишем в поток сам файл
Сервер:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 listener = new TcpListener(ipAddr, port);|//слушаем клиентов
         listener.Start();
         client = listener.AcceptTcpClient();
        stream = client.GetStream();//это поток networkstream
 
         data_read = new byte[j];//j-размер файла который мы прочитали от клиента
                do
                    {
                        bytes = stream.Read(data_read, 0, j);
                        //response.Append(data_read);
                    }
                    while (stream.DataAvailable);
File.WriteAllBytes(path, data_read);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2016, 20:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразовать byte[] в mp4 файл (C#):

Преобразовать из string в byte[] - C#
Такая проблема: у меня в textboxe записаны данные типа byte,конвертированные в string. Как вытащить их обратно?Чтобы то,что у меня в...

Преобразовать object в byte[] - C#
Друзья, добрый день! у меня есть массив ArrayList a1 = new ArrayList(); a1.AddRange((from c in db.ORG_Struct select new {...

Как преобразовать из string в byte??? - C#
Как преобразовать из string в byte???

Преобразовать тип byte в short - C#
Привет. Скажите пожалуйста. Здесь я нашел таблицу явных числовых преобразований http://msdn.microsoft.com/ru-ru/library/yht2cx7b.aspx ...

Как преобразовать тип byte[] в string - C#
пытался преобразовать string x = Convert.ToString(data);

Ошибка: невозможно неявно преобразовать int в byte - C#
char I = 'I'; char one = '1'; byte i = Convert.ToByte(I); byte on = Convert.ToByte(one); ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2016, 20:05
Привет! Вот еще темы с ответами:

Как преобразовать String в Byte без изменения содержания строки? - C#
Как преобразовать стринг в байт без изменения содержания строки? Пример: из строки типа string 59 180 142 20 65 должна получиться такая...

Преобразовать массив байтов (Byte[]) в целое без знака (UInt32) - C#
Всем привет. У меня простой вопрос. Мне нужно преобразовать массив байтов (Byte) в целое без знака (UInt32). На С++ я бы сделал это...

Преобразовать byte[] в Bitmap или другой формат, пригодный для pictureBox - C#
Ситуация такая: клиент отправляет на сервер изображения, находящееся в своём pictureBox, конвертирование в byte происходит следующим...

Соединить обычную строку и байтовый массив и преобразовать это все в byte для отправки - C#
Здравствуйте. Помогите пожалуйста решить проблему. Проблема состоит в том, что мне нужно соединить обычную строку (string) и байтовый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru