использование MemoryStreams в качестве источников контента при прикреплении файлов к электронной почте, C # - PullRequest
0 голосов
/ 12 августа 2011

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

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

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

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

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

Спасибо!

1 Ответ

6 голосов
/ 12 августа 2011

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

myMemoryStream.Position = 0

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

...