急需 -------- 图像的处理 ? 怎样用代码来实现将图片信息以二进制的形势存储到数据库中? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Byte[] bt = new byte[10000]; MemoryStream ms = new MemoryStream(); Image img = Image.FromFile(""); img.Save(ms,ImageFormat.Jpeg); ms.Read(bt,0,10000); sqlCommand.paremeter["img"].value = bt; System.Data.SqlClient.SqlCommand cmd = new SqlCommand()cmd.Connection = (System.Data.SqlClient.SqlConnection)this.conn.SerConnection;cmd.Connection.Open();cmd.CommandType = CommandType.StoredProcedure;cmd.CommandText = "XXXXX";cmd.Parameters.Add("str",str);cmd.Parameters.Add("@pic1", SqlDbType.Binary);cmd.Parameters["@pic1"].Value = rst.dataTable.Rows[row]["pic1"] as Byte[];SqlDataReader reader = cmd.ExecuteReader();绝对可以用. 这是我写的存在Access数据库里的ASP。net+C#(增加了图片大小变化),另在孟子E章中有存到sql中的写法private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e) { System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; if (files.Count>0) { System.Web.HttpPostedFile postedFile = files[0]; string fileName,fileExtention ; fileName = System.IO.Path.GetFileName(postedFile.FileName); fileExtention = System.IO.Path.GetExtension(fileName).ToUpper(); if (fileExtention.Trim()==".GIF"||fileExtention.Trim()==".JPG"||fileExtention.Trim()==".JPEG") { System.Drawing.Image image=System.Drawing.Image.FromStream(postedFile.InputStream); int nWidth; int nHeight; if (image.Height/image.Width>0.75) { if (image.Height>300) { nHeight=300; nWidth=(int)(image.Width * 300 / image.Height); } else { nWidth=image.Width; nHeight=image.Height; } } else { if (image.Width>400) { nWidth=400; nHeight=(int)(image.Height * 400 / image.Width); } else { nWidth=image.Width; nHeight=image.Height; } } System.Drawing.Bitmap myBitmap=new Bitmap(nWidth,nHeight); System.Drawing.Graphics g=System.Drawing.Graphics.FromImage(myBitmap); g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear; g.DrawImage( image, new Rectangle( 0, 0, nWidth, nHeight ),0, 0, image.Width, image.Height, GraphicsUnit.Pixel ); g.Dispose(); //System.Drawing.Image thumbImage = image.GetThumbnailImage(nWidth,nHeight,null,System.IntPtr.Zero); System.IO.MemoryStream imageStream; imageStream=new System.IO.MemoryStream(); myBitmap.Save(imageStream,image.RawFormat); int intLength=Convert.ToInt32(imageStream.Length); byte[] fileData = new byte[intLength]; fileData=imageStream.ToArray(); //imageStream.Read(fileData,0,intLength); // Response.Write(fileData[0].ToString()+"<br>" +intLength.ToString()); OleDbConnection oleConn; string oleConnString; ClassYeleo myClass; myClass=new ClassYeleo(); oleConnString=myClass.GetPubCode(); //oleConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath + "/datadase_mydb/") + "db.mdb"; oleConn = new OleDbConnection(oleConnString); System.Data.OleDb.OleDbCommand insertCmd; insertCmd=new OleDbCommand ("INSERT INTO DBOS_Sl (DBOS_Sl_Type,DBOS_Father_ID,DBOS_Sl_Qtype,DBOS_Sl_Data,DBOS_Sl_Qty)" + "VALUES (@Sl_Type,@Father_ID,@Sl_Qtype,@Sl_Data,@Sl_Qty)", oleConn); System.Data.OleDb.OleDbParameter pSl_Type = new OleDbParameter("@Sl_Type", System.Data.OleDb.OleDbType.VarChar,10); pSl_Type.Value="image"; insertCmd.Parameters.Add(pSl_Type); System.Data.OleDb.OleDbParameter pSl_Father_ID = new OleDbParameter("@Father_ID",System.Data.OleDb.OleDbType.Integer); pSl_Father_ID.Value=123; insertCmd.Parameters.Add(pSl_Father_ID); System.Data.OleDb.OleDbParameter pSl_Qtype=new OleDbParameter("@Sl_Qtype",System.Data.OleDb.OleDbType.VarChar,4); pSl_Qtype.Value=image.RawFormat.ToString(); insertCmd.Parameters.Add(pSl_Qtype); System.Data.OleDb.OleDbParameter pSl_Data = new OleDbParameter("@Sl_Data",System.Data.OleDb.OleDbType.VarBinary); pSl_Data.Value=fileData; insertCmd.Parameters.Add(pSl_Data); System.Data.OleDb.OleDbParameter pSl_Qty = new OleDbParameter("@Sl_Qty",System.Data.OleDb.OleDbType.Boolean); pSl_Qty.Value=false; insertCmd.Parameters.Add(pSl_Qty); oleConn.Open(); insertCmd.ExecuteNonQuery(); if (oleConn.State == ConnectionState.Open) { oleConn.Close(); } Response.Write("<body onload=window.alert('数据提交成功!"+intLength.ToString() +"');></body>"); //Response.BinaryWrite(fileData); // System.IO.MemoryStream myNewStream; // myNewStream=new System.IO.MemoryStream(); // myNewStream.Write(fileData,0,fileData.Length); // System.Drawing.Image myNewImag; // myNewImag=System.Drawing.Image.FromStream(myNewStream); // myNewImag.Save(Response.OutputStream,myNewImag.RawFormat); // thumbImage.Save(Response.OutputStream,image.RawFormat); } else { Response.Write("<body onload=window.alert('图处只能是Gif/Jpeg/Jpg格式!');></body>"); } } } 请教,C# winform 里怎么实现用户登录 请问谁有排列SQL语句的插件,之前用过,但不知道叫什么名字了。 登陆问题 C#中,如何在同一个form里面,绘制不同速率的移动的图形? 紧急求救:关于url中有多个参数,其中有参数值包含&的问题 C#操作技巧之数据类型之间的转换 装了server 2003系统,电脑咳嗽了 从0开始,第二问? 文本导入datagridview单元格,出现索引必须在集合的大小范围之内,不能超过该大小范围或小于零 我想做一个批量替换器,请问要解决哪些关键问题? 向access中插入图片 dropDownlist如何添加年从.比如1910到2006
MemoryStream ms = new MemoryStream();
Image img = Image.FromFile("");
img.Save(ms,ImageFormat.Jpeg);
ms.Read(bt,0,10000); sqlCommand.paremeter["img"].value = bt;
cmd.Connection = (System.Data.SqlClient.SqlConnection)this.conn.SerConnection;
cmd.Connection.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "XXXXX";cmd.Parameters.Add("str",str);
cmd.Parameters.Add("@pic1", SqlDbType.Binary);
cmd.Parameters["@pic1"].Value = rst.dataTable.Rows[row]["pic1"] as Byte[];SqlDataReader reader = cmd.ExecuteReader();绝对可以用.
private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
if (files.Count>0)
{
System.Web.HttpPostedFile postedFile = files[0];
string fileName,fileExtention ;
fileName = System.IO.Path.GetFileName(postedFile.FileName);
fileExtention = System.IO.Path.GetExtension(fileName).ToUpper();
if (fileExtention.Trim()==".GIF"||fileExtention.Trim()==".JPG"||fileExtention.Trim()==".JPEG")
{
System.Drawing.Image image=System.Drawing.Image.FromStream(postedFile.InputStream);
int nWidth;
int nHeight;
if (image.Height/image.Width>0.75)
{
if (image.Height>300)
{
nHeight=300;
nWidth=(int)(image.Width * 300 / image.Height);
}
else
{
nWidth=image.Width;
nHeight=image.Height;
}
}
else
{
if (image.Width>400)
{
nWidth=400;
nHeight=(int)(image.Height * 400 / image.Width);
}
else
{
nWidth=image.Width;
nHeight=image.Height;
}
}
System.Drawing.Bitmap myBitmap=new Bitmap(nWidth,nHeight);
System.Drawing.Graphics g=System.Drawing.Graphics.FromImage(myBitmap);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear;
g.DrawImage( image, new Rectangle( 0, 0, nWidth, nHeight ),0, 0, image.Width, image.Height, GraphicsUnit.Pixel );
g.Dispose();
//System.Drawing.Image thumbImage = image.GetThumbnailImage(nWidth,nHeight,null,System.IntPtr.Zero);
System.IO.MemoryStream imageStream;
imageStream=new System.IO.MemoryStream();
myBitmap.Save(imageStream,image.RawFormat);
int intLength=Convert.ToInt32(imageStream.Length);
byte[] fileData = new byte[intLength];
fileData=imageStream.ToArray();
//imageStream.Read(fileData,0,intLength);
// Response.Write(fileData[0].ToString()+"<br>" +intLength.ToString());
OleDbConnection oleConn;
string oleConnString;
ClassYeleo myClass;
myClass=new ClassYeleo();
oleConnString=myClass.GetPubCode();
//oleConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath + "/datadase_mydb/") + "db.mdb";
oleConn = new OleDbConnection(oleConnString);
System.Data.OleDb.OleDbCommand insertCmd;
insertCmd=new OleDbCommand ("INSERT INTO DBOS_Sl (DBOS_Sl_Type,DBOS_Father_ID,DBOS_Sl_Qtype,DBOS_Sl_Data,DBOS_Sl_Qty)" +
"VALUES (@Sl_Type,@Father_ID,@Sl_Qtype,@Sl_Data,@Sl_Qty)", oleConn);
System.Data.OleDb.OleDbParameter pSl_Type = new OleDbParameter("@Sl_Type", System.Data.OleDb.OleDbType.VarChar,10);
pSl_Type.Value="image";
insertCmd.Parameters.Add(pSl_Type); System.Data.OleDb.OleDbParameter pSl_Father_ID = new OleDbParameter("@Father_ID",System.Data.OleDb.OleDbType.Integer);
pSl_Father_ID.Value=123;
insertCmd.Parameters.Add(pSl_Father_ID); System.Data.OleDb.OleDbParameter pSl_Qtype=new OleDbParameter("@Sl_Qtype",System.Data.OleDb.OleDbType.VarChar,4);
pSl_Qtype.Value=image.RawFormat.ToString();
insertCmd.Parameters.Add(pSl_Qtype); System.Data.OleDb.OleDbParameter pSl_Data = new OleDbParameter("@Sl_Data",System.Data.OleDb.OleDbType.VarBinary);
pSl_Data.Value=fileData;
insertCmd.Parameters.Add(pSl_Data); System.Data.OleDb.OleDbParameter pSl_Qty = new OleDbParameter("@Sl_Qty",System.Data.OleDb.OleDbType.Boolean);
pSl_Qty.Value=false;
insertCmd.Parameters.Add(pSl_Qty); oleConn.Open();
insertCmd.ExecuteNonQuery();
if (oleConn.State == ConnectionState.Open)
{
oleConn.Close();
}
Response.Write("<body onload=window.alert('数据提交成功!"+intLength.ToString() +"');></body>");
//Response.BinaryWrite(fileData);
// System.IO.MemoryStream myNewStream;
// myNewStream=new System.IO.MemoryStream();
// myNewStream.Write(fileData,0,fileData.Length);
// System.Drawing.Image myNewImag;
// myNewImag=System.Drawing.Image.FromStream(myNewStream);
// myNewImag.Save(Response.OutputStream,myNewImag.RawFormat);
// thumbImage.Save(Response.OutputStream,image.RawFormat);
}
else
{
Response.Write("<body onload=window.alert('图处只能是Gif/Jpeg/Jpg格式!');></body>");
}
}
}