How to convert image into byte[] and byte[] to image using C# in ASP.NET

Recently I worked on a code sample for converting the image to the byte array and convert it back to the image type in ASP.NET 2.0 application.

 

Here is the code sample:

 

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.IO;

public partial class Default2 : System.Web.UI.Page

{

    HttpPostedFile postedImage;

    private static byte[] byteImageData;

    protected void Page_Load(object sender, EventArgs e)

    {

    }

    # region Converting Image to Byte

    private static byte[] ReadImage(string p_postedImageFileName, string[] p_fileType)

    {

        bool isValidFileType = false;

        try

        {

            FileInfo file = new FileInfo(p_postedImageFileName);

            foreach (string strExtensionType in p_fileType)

            {

                if (strExtensionType == file.Extension)

                {

                    isValidFileType = true;

                    break;

                }

            }

            if (isValidFileType)

            {

                FileStream fs = new FileStream(p_postedImageFileName, FileMode.Open, FileAccess.Read);

                BinaryReader br = new BinaryReader(fs);

                byte[] image = br.ReadBytes((int)fs.Length);

                br.Close();

                fs.Close();

                return image;

            }

            return null;

        }

        catch (Exception ex)

        {

            throw ex;

        }

    }

    #endregion

    #region Converting Byte to Image

    private void byteArrayToImage(byte[] byteArrayIn)

    {

        System.Drawing.Image newImage;

        string strFileName = GetTempFolderName() + "yourfilename.gif";

        if (byteArrayIn != null)

        {

            using (MemoryStream stream = new MemoryStream(byteArrayIn))

            {

                newImage = System.Drawing.Image.FromStream(stream);

                newImage.Save(strFileName);

                img.Attributes.Add("src", strFileName);

            }

    lblMessage.Text = "The image conversion was successful.";

        }

        else

        {

            Response.Write("No image data found!");

        }

    }

    #endregion

    #region Getting Temporary Folder Name

    private static string GetTempFolderName()

    {

        string strTempFolderName = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache) + @"\";

        if (Directory.Exists(strTempFolderName))

        {

            return strTempFolderName;

        }

        else

        {

            Directory.CreateDirectory(strTempFolderName);

            return strTempFolderName;

        }

    }

    #endregion

    protected void Button1_Click(object sender, EventArgs e)

    {

        postedImage = this.imgUpload.PostedFile;

        byteImageData = ReadImage(postedImage.FileName, new string[] { ".gif", ".jpg", ".bmp" });

    }

    protected void Button2_Click(object sender, EventArgs e)

    {

        byteArrayToImage(byteImageData);

    }

}

ImageConverter.zip