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;
}
}
|