using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
namespace LoadImmages
{
class LoadImages
{
//you may refer to your own system's image file location
string imageFileLocation = @"F:\";
//you may refer to your own image's file name here.
//string imageFilePrefix = "painting-almirah";
string imageFilePrefix = "微信";
int numberImageFiles = 2;
string imageFileType = ".jpg";
int maxImageSize = 1000000;
SqlConnection conn = null;
SqlCommand cmd = null;
void OpenConnection()
{
conn = new SqlConnection(@"server=.;integrated security = true;database=tempdb");
conn.Open();
}
void CloseConnection()
{
conn.Close();
Console.WriteLine("Connection Closed!");
}
void CreateCommand()
{
cmd = new SqlCommand();
cmd.Connection = conn;
}
void ExecuteCommand(string cmdText)
{
int cmdResult;
cmd.CommandText = cmdText;
Console.WriteLine("Executing command:");
Console.WriteLine(cmd.CommandText);
cmdResult = cmd.ExecuteNonQuery();
}
void CreateImageTable()
{
ExecuteCommand(@" IF not EXISTS (SELECT * FROM sysobjects WHERE name = 'imagetable')
BEGIN
create table imagetable(imagefile varchar(20),imagedata varbinary(max))
end
");
}
void PrepareInsertImages()
{
cmd.CommandText = @"Insert into imagetable values (@imagefile,@imagedata)";
cmd.Parameters.Add("@imagefile",SqlDbType.NVarChar,20);
cmd.Parameters.Add("@imagedata",SqlDbType.Image,1000000);
cmd.Prepare();
}
void ExecuteInsertImages(int imageFileNumber)
{
string imageFileName = null;
byte[] imageImageData = null;
imageFileName = imageFilePrefix + imageFileNumber.ToString() + imageFileType;
imageImageData = LoadImageFile(imageFileName, imageFileLocation, maxImageSize);
cmd.Parameters["@imagefile"].Value = imageFileName;
cmd.Parameters["@imagedata"].Value = imageImageData;
ExecuteCommand(cmd.CommandText);
}
byte[] LoadImageFile(string fileName, string fileLocation, int maxImageSize)
{
byte[] imagebytes = null;
string fullpath = fileLocation + fileName;
Console.WriteLine("Loading File:");
Console.WriteLine(fullpath);
try
{
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;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
imagebytes = null;
}
//finally
//{
// Console.WriteLine("Load Image File sucessed." + fullpath);
//}
return imagebytes;
}
static void Main()
{
LoadImages loader = new LoadImages();
try
{
loader.OpenConnection();
loader.CreateCommand();
loader.CreateImageTable();
loader.PrepareInsertImages();
int i;
for (i = 1; i <= loader.numberImageFiles; i++)
{
loader.ExecuteInsertImages(i);
}
}
catch (SqlException ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
loader.CloseConnection();
}
}
}
}
01-09
1772
07-08
3359
12-30
2716
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交