如何从字节数组添加电子邮件附件?
我有一个byte[]
与文件的内容。 我想发送它作为一个附件使用System.Net.Mail
。
我注意到附件类有1个过载接受一个stream。
Attachment att = new Attachment(Stream contentStream,string name);
是否有可能通过这个超载的byte[]
?
最简单的方法:
Attachment att = new Attachment(new MemoryStream(bytes), name);
请注意,除非您使用asynchronous操作进行时髦的操作,否则MemoryStream
是安全的,可以让您的生活更轻松。 无可否认,未来这不会有保证 ,但我认为它不太可能会改变。 我看不到任何迹象表明是否处置的附件处理其stream:(
您需要使用适当的MemoryStream构造函数重载将byte[]
转换为MemoryStream
。
Attachment att = new Attachment(new MemoryStream(myBytes), name);
请注意, Attachment的构造函数的name参数指定了附件的内容types的名称,而不是附件本身的名称。