LoadImages.cs : Image Load Save « ADO.Net « C# / CSharp Tutorial






using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;

    class LoadImages
    {
        static void Main()
        {
            string imageFileLocation ="C:\\";
            string imageFilePrefix = "a";
            int numberImageFiles = 1;
            string imageFileType = ".jpg";
            int maxImageSize = 10000;
            SqlConnection conn = null;
            SqlCommand cmd = null;

            conn = new SqlConnection(@"server = .\sqlexpress;integrated security = true;database = tempdb");
            conn.Open();
            cmd = new SqlCommand();
            cmd.Connection = conn;


            cmd.CommandText = @"create table imagetable(imagefile nvarchar(20),imagedata varbinary(max))";
            cmd.ExecuteNonQuery();

            cmd.CommandText = @"insert into imagetable values (@imagefile, @imagedata)";
            cmd.Parameters.Add("@imagefile", SqlDbType.NVarChar, 20);
            cmd.Parameters.Add("@imagedata", SqlDbType.Image, 1000000);
            cmd.Prepare();

            string imageFileName = null;
            byte[] imageImageData = null;

            imageFileName = imageFilePrefix + imageFileType;
            imageImageData = LoadImageFile(imageFileName, imageFileLocation, maxImageSize);
            cmd.Parameters["@imagefile"].Value = imageFileName;
            cmd.Parameters["@imagedata"].Value = imageImageData;

            
            cmd.CommandText = cmd.CommandText;
            cmd.ExecuteNonQuery();

        }

        static byte[] LoadImageFile(string fileName,string fileLocation,int maxImageSize)
        {
            byte[] imagebytes = null;
            string fullpath = fileLocation + fileName;
            Console.WriteLine("Loading File:");
            Console.WriteLine(fullpath);
            FileStream fs = new FileStream(fullpath, FileMode.Open, FileAccess.Read);
            BinaryReader br = new BinaryReader(fs);
            imagebytes = br.ReadBytes(maxImageSize);

            Console.WriteLine("Imagebytes has length {0} bytes.",imagebytes.GetLength(0));
            return imagebytes;
        }
    }








32.56.Image Load Save
32.56.1.Load image to database
32.56.2.Read Bitmap from database
32.56.3.Display image
32.56.4.Writes binary data to a file
32.56.5.LoadImages.cs