powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поток
12 сообщений из 12, страница 1 из 1
Поток
    #39271543
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, подскажите как записать поток байт в переменную?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Stream myStream =null;
                    OpenFileDialog openFileDialog1 = new OpenFileDialog();
                    openFileDialog1.InitialDirectory = "c:\\";
                    openFileDialog1.Filter =
                        "Image Files(*.BMP;*.JPG; *.JPEG)|*.BMP;*.JPG;*.JPEG|All files (*.*)|*.*";
                    openFileDialog1.FilterIndex = 2;
                    openFileDialog1.RestoreDirectory = true;
                    if (openFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        try
                        {
                            if ((myStream = openFileDialog1.OpenFile()) != null)
                            {
                                var photoArray = new byte[0];
                                using (myStream)
                                {
                               
                                     //вот тут как-то надо поток байт записать в переменную photoArray
                                }}
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
                        }
                    }
...
Рейтинг: 0 / 0
Поток
    #39271544
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уже создавал тему)
...
Рейтинг: 0 / 0
Поток
    #39271547
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Поток
    #39271556
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07,
СтримРеадер, там без проблем, просто всё
...
Рейтинг: 0 / 0
Поток
    #39271564
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
var dialog = new OpenFileDialog();

dialog.Filter = "Image Files(*.BMP;*.JPG; *.JPEG)|*.BMP;*.JPG;*.JPEG|All files (*.*)|*.*";
dialog.FilterIndex = 2;
dialog.InitialDirectory = "c:\\";
dialog.RestoreDirectory = true;

if (dialog.ShowDialog() == DialogResult.OK)
{
    try
    {
        using (var stream = dialog.OpenFile())
        {
            if (stream != null)
            {
                int count = (int)stream.Length;
                var buffer = new byte[count];

                stream.Read(buffer, 0, count);
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
    }
}



https://msdn.microsoft.com/en-us/library/system.io.stream.read(v=vs.110).aspx]Stream.Read Method (Byte[], Int32, Int32)
...
Рейтинг: 0 / 0
Поток
    #39271568
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Выбранный файл из памяти запишется в buffer в виде потока байтов, так?
...
Рейтинг: 0 / 0
Поток
    #39271573
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07skyANA,

Выбранный файл из памяти запишется в buffer в виде потока байтов, так?
Нет. Выбранный файл будет прочитан и сохранён в память в виде массива байтов.

Если что-то не понятно в документации, то есть перевод: https://msdn.microsoft.com/ru-ru/library/system.io.stream.read(v=vs.110).aspx]Stream.Read - метод (Byte[], Int32, Int32)
...
Рейтинг: 0 / 0
Поток
    #39271583
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
А как мне массив байт записать в переменную для дальнейшей работы?
...
Рейтинг: 0 / 0
Поток
    #39271584
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07skyANA,
А как мне массив байт записать в переменную для дальнейшей работы?
buffer и есть переменная. Но может Вам так будет понятнее:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
var dialog = new OpenFileDialog();

dialog.Filter = "Image Files(*.BMP;*.JPG; *.JPEG)|*.BMP;*.JPG;*.JPEG|All files (*.*)|*.*";
dialog.FilterIndex = 2;
dialog.InitialDirectory = "c:\\";
dialog.RestoreDirectory = true;

byte[] photoArray; // Вот нужная Вам переменная для дальнейшей работы.

if (dialog.ShowDialog() == DialogResult.OK)
{
    try
    {
        using (var stream = dialog.OpenFile())
        {
            if (stream != null)
            {
                var count = (int)stream.Length;

                photoArray = new byte[count];

                stream.Read(photoArray, 0, count);
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
    }
}
...
Рейтинг: 0 / 0
Поток
    #39271590
kot07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAkot07skyANA,

Выбранный файл из памяти запишется в buffer в виде потока байтов, так?
Нет. Выбранный файл будет прочитан и сохранён в память в виде массива байтов.
(v=vs.110).aspx]Stream.Read - метод (Byte[], Int32, Int32)

В целом было итак понятно, но вот эта фраза меня смутила. Спасибо за объяснения
...
Рейтинг: 0 / 0
Поток
    #39271614
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot07skyANAпропущено...

Нет. Выбранный файл будет прочитан и сохранён в память в виде массива байтов.
(v=vs.110).aspx]Stream.Read - метод (Byte[], Int32, Int32)

В целом было итак понятно, но вот эта фраза меня смутила. Спасибо за объяснения
Если не секрет, то отчего она Вас смутила?
...
Рейтинг: 0 / 0
Поток
    #39271949
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAkot07пропущено...


В целом было итак понятно, но вот эта фраза меня смутила. Спасибо за объяснения
Если не секрет, то отчего она Вас смутила?
отсутствие базового понимания того, как устроена память компьютера
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Поток
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]