天天看點

圖檔内容儲存到資料庫,并從資料庫裡擷取圖檔

儲存image到database

public bool SaveImage(string filePath)

{

bool

isSuccess = false;

string FilePath = filePath;

string filename = FilePath.Substring(FilePath.LastIndexOf("\\") + 1);

//得到上傳檔案的文名

string filetext = string.Empty;

FileStream fs =

new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Read);

BinaryReader br = new BinaryReader(fs);

byte[] fileByte =

br.ReadBytes((int)fs.Length);//将流讀入到位元組數組中

//Byte[] fileByte = new

Byte[(int)fs.Length];

//fs.Read(fileByte, 0, fileByte.Length);

//filetext = System.Text.Encoding.Default.GetString(fileByte);

//将指定位元組數組中的說有位元組解碼為一個字元串

SqlConnection conn = new

SqlConnection(@"server=.;database=SoyErp2.0;uid=sa;pwd=sa;");

conn.Open();

StringBuilder strSql = new

StringBuilder();

strSql.Append("INSERT INTO dbo.picSaveToSql (

ImgFile) VALUES ( @Photo )");

SqlCommand cmd = new

SqlCommand(strSql.ToString(), conn);

cmd.Parameters.Add("@Photo",

SqlDbType.Binary).Value = fileByte;

isSuccess

=cmd.ExecuteNonQuery()>0?true:false;

conn.Close();

fs.Close();

return isSuccess;

}

//從database擷取圖檔

public Bitmap Get_Image()

byte[] imagebytes =

null;

SqlCommand com = new SqlCommand(" SELECT * FROM

picSaveToSql WHERE Id=4 ", conn);

SqlDataReader dr =

com.ExecuteReader();

while (dr.Read())

imagebytes = (byte[])dr.GetValue(1);

dr.Close();

MemoryStream ms = new

MemoryStream(imagebytes);

Bitmap bmpt = new Bitmap(ms);

return bmpt;