Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Back to Basics – Reading a File into Memory Stream

DZone's Guide to

Back to Basics – Reading a File into Memory Stream

·
Free Resource

Today I was asked to help a developer with a simple task she had. That task included reading an image file into a Back to Basics – Reading a File into Memory Streammemory stream in order to send the image through an e-mail attachment. This post will show you how to do exactly that.

Reading a File into Memory Stream

Here is the code for reading the file into a memory stream:

using (FileStream fileStream = File.OpenRead(filePath))

{

MemoryStream memStream = new MemoryStream();

memStream.SetLength(fileStream.Length);

fileStream.Read(memStream.GetBuffer(), 0, (int)fileStream.Length);

}


That’s it for the reading part. Pay attention to use the using statement in order to dispose the FileStream after you use it.

Adding a MemoryStream as Attachment to a MailMessage

In order to use a stream as an attachment for an e-mail message object all you have to do is to write the following code:

 

msg.Attachments.Add(new Attachment(memStream, filename, MediaTypeNames.Image.Jpeg)); 

In the code sample msg is an instance of a MailMessage class, memStream is the MemoryStream (such as the memory stream from the previous code sample) and filename is the name of the file in the attachment. Since I know that the image is jpeg then I use the MediaTypeNames.Image.Jpeg.

Summary

Reading a file into a stream is a very basic thing to know. In the post I showed how to read an image into a memory stream and also how to attach it into a mail message object.

Topics:

Published at DZone with permission of Gil Fink, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}