Я пытаюсь прочитать вложение электронной почты, и я получаю сообщение об ошибке «Поток памяти не расширяется». Я исследовал это, и большинство решений, казалось, связано с динамическим определением размера буфера, но я уже это делаю. Я не очень разбираюсь в потоках памяти, поэтому я хотел бы знать, ПОЧЕМУ, что это проблема. Благодарю.Поток памяти не подлежит расшифровке
foreach (MailMessage m in messages)
{
byte[] myBuffer = null;
if (m.Attachments.Count > 0)
{
//myBuffer = new byte[25 * 1024]; old way
myBuffer = new byte[m.Attachments[0].ContentStream.Length];
int read;
while ((read = m.Attachments[0].ContentStream.Read(myBuffer, 0, myBuffer.Length)) > 0)
{
// error occurs on executing next statement
m.Attachments[0].ContentStream.Write(myBuffer, 0, read);
}
... more unrelated code ...
Если цель вашего потока состоит в том, чтобы прочитать вложение, почему линия, которую вы выделили **, напишите ** на нее? –
Этот фрагмент является частью более крупного процесса, который считывает вложение в буфер, а затем передает буфер (и xmlDocument, который находится в теле письма) другому процессу. Я выделил строку, которая генерировала исключение. –