在asp.net中获取电子邮件附件大小
有没有办法知道在 asp.net c# 中电子邮件中发送的附件的大小?
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有没有办法知道在 asp.net c# 中电子邮件中发送的附件的大小?
谢谢!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
如果您使用 System.Net.Mail 并通过
Attachment
类,那么每个附件应该有一个ContentStream
属性包含实际文件。此属性的类型为Stream
,有一个Length
属性(类型为long
),它给出文件的大小(以字节为单位)。If you're using
System.Net.Mail
and attaching the file via theAttachment
class, then each attachment should have aContentStream
property containing the actual file. This property, of typeStream
, has aLength
property (of typelong
) which gives the size of the file in bytes.通常,附件在 System.Net.Mail 中采用 Base64 编码。 base64编码需要3个字节,并将它们转换为4个字节。
您需要做的是确定附件的长度(Stream.Length、byte[] 长度或文件长度),并将其除以 0.75。
这将为您提供附件的大小,为 SMTP 进行 base64 编码。
Typically attachments are base64 encoded in System.Net.Mail. base64 encoding takes 3 bytes, and converts them to 4 bytes.
What you need to do, is determine the length of the attachment (either as Stream.Length, the byte[] length, or the File length), and divide it by .75.
This will give you the size of the attachment, base64 encoded for SMTP.
我相信你可以使用 HttpFileCollection 类。它使您可以访问客户端上传的所有文件。
这是 msdn 链接
I believe u can use HttpFileCollection class. It gives you access to all the files uploaded by client.
Here is the msdn link
附件.ContentDisposition.Size
将给出附件大小(以字节为单位)Attachment.ContentDisposition.Size
will give the attachment size (in bytes)