在开发的过程中,难免遇到图片保存问题,解决的方法有很多,这里我把图片以二进制的形式保存到数据库中,也许这个形式并不是最高效的方式,但也不失为一种好的方法吧.呵呵,下面简单的demo可以作为参考:
1![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code#region Code
2![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
3
//单击"浏览"按钮
4![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
private void button1_Click(object sender, System.EventArgs e)
6![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
8![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
DialogResult result=this.openFileDialog1.ShowDialog();
10![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
if(result==DialogResult.OK)
12![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
14![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
this.textBox1.Text=this.openFileDialog1.FileName.ToString
16![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
();
18![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
Image img = Bitmap.FromFile(this.textBox1.Text);
20![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
this.pictureBox1.Image=img;
22![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
}
24![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
26![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
}
28![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
//单击"确定"按钮
30![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
private void button2_Click(object sender, System.EventArgs e)
32![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
34![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
//插入数据库操作,图片类型的参数为PicToBinary()返回的byte[]即可
36![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
把图片以字节的形式保存到数据库中
38![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
}
40![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
//图片转换为字节数组
42![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
private byte[] PicToBinary()
44![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
46![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
//创建参数集
48![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
string path = this.textBox1.Text.Trim();
50![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
byte[] source = null;
52![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
if(!path.Equals("") && File.Exists(path))
54![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
56![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
FileStream fs=new FileStream
58![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
(path,FileMode.Open,FileAccess.Read);//创建文件流
60![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
source=new byte[(int)fs.Length];
62![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
fs.Read(source,0,(int)fs.Length);
64![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
Image img = Bitmap.FromStream(fs);//把文件流转换为图片
66![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
if(img.Width > 300 || img.Height > 400)
68![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
70![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
MessageBox.Show("图片过大,请上传400*300以下的图片");
72![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
return;
74![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
}
76![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
fs.Flush();
78![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
fs.Close();
80![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
81
}
82![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
return source;
84![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
85
}
86![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
87
88![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
#endregion
posted @
2008-02-16 10:20
Lucky Jack
阅读(
1195)
评论()
编辑
收藏
举报