| IMimeContentDecodeToAsync Method |
Asynchronously decode the content stream into another stream.
Namespace: MimeKitAssembly: MimeKit (in MimeKit.dll) Version: 4.7.1
Syntax Task DecodeToAsync(
Stream stream,
CancellationToken cancellationToken = default
)
Parameters
- stream Stream
- The output stream.
- cancellationToken CancellationToken (Optional)
- The cancellation token.
Return Value
TaskAn awaitable task.
Exceptions Remarks
If the content stream is encoded, this method will decode it into the output stream
using a suitable decoder based on the
Encoding property, otherwise the
stream will be copied into the output stream as-is.
Example foreach (var attachment in message.Attachments) {
if (attachment is MessagePart) {
var fileName = attachment.ContentDisposition?.FileName;
var rfc822 = (MessagePart) attachment;
if (string.IsNullOrEmpty (fileName))
fileName = "attached-message.eml";
using (var stream = File.Create (fileName))
rfc822.Message.WriteTo (stream);
} else {
var part = (MimePart) attachment;
var fileName = part.FileName;
using (var stream = File.Create (fileName))
part.Content.DecodeTo (stream);
}
}
See Also