private void 上传ToolStripMenuItem_Click(object sender, EventArgs e) //按钮的点击方法
{
OpenFileDialog ofd = new OpenFileDialog(); //选择图片文件窗体
ofd.Title = "选择要上传的图片"; //窗体抬头
ofd.Filter = "位图(*.bmp)|*.bmp|JPEG(*.jpg)|*.jpg|图片(*.png)|*.png|All Files(*.*)|*.*"; //选择文件格式(在打开窗体中以下拉列表方式筛选)
if (ofd.ShowDialog(this) == DialogResult.OK)//打开窗体,并且点击确定按钮后触发
{
Image newImage = Image.FromFile(ofd.FileName);//获取图片文件,ofd.FileName获取路径
if (!File.Exists(ofd.FileName))//判断路径
{
MessageBox.Show("照片为空");
return;
}
//下面为保存方法,我这里以二进制数组的方式保存到数据库
MemoryStream memoryStream = new MemoryStream();//创建一个流
newImage.Save(memoryStream, ImageFormat.Jpeg);//将图片以指定的流保存
byte[] array = new byte[memoryStream.Length]; //定义字节数组
memoryStream.Position = 0L; //设置读取起始位置
memoryStream.Read(array, 0, Convert.ToInt32(memoryStream.Length)); //写入缓冲区
memoryStream.Close();
//上面已经把图片转为字节数组,下面就是保存到数据库了(图片数据已经得到,下面仅供参考)
//String sqlString = "update App_Base set Icon_Image=:icon where App_Id=:appId";
// OracleParameterCollection sqlParas = new OracleParameterCollection();
// sqlParas.Add(new Oracle.ManagedDataAccess.Client.OracleParameter(":icon", icon));
// sqlParas.Add(new Oracle.ManagedDataAccess.Client.OracleParameter(":appId", appId));
// OracleDataAccessHelper.ExecuteNonQuery(sqlString, sqlParas);
MessageBox.Show("保存成功。");
}
}