использование MemoryStreams в качестве источников контента при прикреплении файлов к электронной почте, C#

Итак, у меня возникли проблемы с попыткой прикрепить файлы, используя MemoryStream в качестве источника контента.

Прямо сейчас я получаю изображения с удаленного веб-сервера и пытаюсь упаковать их в электронное письмо, которое работает как ежедневный отчет.

Я выполнил выборку, синтаксический анализ и извлечение изображений и проверил, работает ли это. Проблема, с которой я сталкиваюсь, заключается в том, что когда я создаю объект вложения, используя MemoryStream в качестве источника/потока контента, электронное письмо содержит пустой файл/изображение. Однако, когда я указываю фактический файл, который находится на жестком диске, он без проблем прикрепляется к сообщению, и полученное сообщение идеально.

Очевидно, что я предпочел бы не кэшировать какие-либо изображения локально, прежде чем прикреплять файлы и отправлять их, поскольку это создаст ненужные накладные расходы на кэширование и последующую их очистку. Но, если понадобится, я могу сделать это последним средством.

Мой вопрос заключается в том, есть ли какая-то известная проблема с использованием MemoryStream в качестве contentStream при создании объекта вложения или я что-то забыл.

Спасибо!


person user711330    schedule 11.08.2011    source источник
comment
Опубликуйте соответствующую часть кода, которая не работает, и добавьте то, что вы используете для создания электронного письма. Перспективы? EWS? какая-то другая библиотека?   -  person Eddy    schedule 12.08.2011


Ответы (1)


Я пробую свои психические способности отладки: вы загрузили свой MemoryStream данными и забыли сбросить позицию до нуля, прежде чем читать ее. Если так,

myMemoryStream.Position = 0

в тактической позиции может помочь.

person spender    schedule 11.08.2011
comment
+1. Вместо этого я бы рекомендовал установить Position=0, чтобы создать клонированный поток памяти r/o по тому же массиву байтов, что и исходный MemoryStream. - person Alexei Levenkov; 12.08.2011
comment
чувак, твои силы поразительны! именно в этом была проблема. но человек о человек, я чувствую себя глупо сейчас. - person user711330; 12.08.2011