WinForm은 그림을 저장하고 읽기(Stream 흐름 형식)

1803 단어 .net관련되다
직접 그림을 데이터베이스에 저장하면 데이터베이스에 대한 압력이 비교적 클 수 있다. 물론 이렇게 하면 그림 데이터의 이동과 백업에 유리하다.
이런 방법은 사용자의 프로필 사진 등 비교적 작은 그림만 저장하는 데 적합하다.
//    
           if (this.openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            { 
                pathName = this.openFileDialog1.FileName;
                System.Drawing.Image img = System.Drawing.Image.FromFile(pathName);
                this.pictureBox1.Image = img;

		System.IO.FileStream fs = new System.IO.FileStream(pathName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                byte[] buffByte = new byte[fs.Length];
                fs.Read(buffByte, 0, (int)fs.Length);
                fs.Close();
                fs = null; 
             }

//그림 표시
	    MemoryStream buf = new MemoryStream((byte[])stu[0].labPic);
            Image image = Image.FromStream(buf, true);
            this.pictureBox1.Image = image;

//이것은 데이터베이스를 조작하는 부분이다
try 
            { 
                string sql = "insert into students(labPic,machineID,stuTime) values(@pic,@machine,@time)";
                SqlParameter[] parameter = 
                {
                    new SqlParameter("@pic",stu.labPic),
                    new SqlParameter("@machine",stu.machineID),
                    new SqlParameter("@time",stu.stuTime)
                };
                i = DbHelperSQL.ExecuteSql(sql, parameter);
            }
            catch (Exception ex)
            {
                WriteLog.WriteLogs(ex.Message);
            }

좋은 웹페이지 즐겨찾기