Получить размер вложения электронной почты в asp.net - PullRequest
4 голосов
/ 08 марта 2011

Есть ли способ узнать размер вложения, которое отправляется в электронном письме в asp.net c #?

спасибо!

Ответы [ 3 ]

6 голосов
/ 08 марта 2011

Если вы используете System.Net.Mail и присоединяете файл через класс Attachment, то каждое вложение должно иметь свойство ContentStream, содержащее фактический файл.Это свойство типа Stream имеет свойство Length (типа long), которое дает размер файла в байтах.

1 голос
/ 09 марта 2011

Обычно вложения кодируются в base64 в System.Net.Mail. Кодировка base64 занимает 3 байта и преобразует их в 4 байта.

Что вам нужно сделать, это определить длину вложения (либо как Stream.Length, длину в байтах [], либо длину файла) и разделить его на 0,75.

Это даст вам размер вложения, base64, закодированный для SMTP.

0 голосов
/ 08 марта 2011

Я считаю, что вы можете использовать класс HttpFileCollection.Это дает вам доступ ко всем файлам, загруженным клиентом.Вот ссылка MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...