Я пытаюсь разбить поток памяти на куски, читая части в байтовый массив, но я думаю, что у меня что-то в корне не так. Я могу прочитать первый фрагмент, но когда я пытаюсь прочитать остальную часть потока памяти, индекс выходит за пределы, даже если есть больше байтов для чтения. Похоже, что проблема заключается в размере получающего байтового буфера, который должен быть такого же размера, как memorystrem. Мне нужно преобразовать его в куски, поскольку код находится в веб-сервисе.
Кто-нибудь знает, что не так с этим кодом
fb.buffer - это MemoryStream
long bytesLeft = fb.Buffer.Length;
fb.Buffer.Position = 0;
int offset =0;
int BUFF_SIZE = 8196;
while (bytesLeft > 0)
{
byte[] fs = new byte[BUFF_SIZE];
fb.Buffer.Read(fs, offset, BUFF_SIZE);
offset += BUFF_SIZE;
bytesLeft -= BUFF_SIZE;
}
Read
здесь; просто используйтеGetBuffer
, а затем в циклеBuffer.BlockCopy
данные из резервного буфера в меньшие буферы - person Marc Gravell   schedule 16.04.2012