二进制 图片 数据库

ASP.NET图片上传与显示
本文介绍了如何使用ASP.NET进行图片的上传与显示操作。包括将图片保存为JPEG格式到内存,通过存储过程将图片的二进制数据插入数据库,以及从数据库中读取图片并显示的过程。
// 上传的图片文件到Image
InBlock.gif
            System.Drawing.Image img = System.Drawing.Image.FromFile(fileImg.PostedFile.FileName);
InBlock.gif
InBlock.gif            
// 以Jpeg格式存到内存中
InBlock.gif
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
InBlock.gif            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
InBlock.gif
InBlock.gif            
// 输出Response.BinaryWrite(二进制)
InBlock.gif
            Response.ClearContent();
InBlock.gif            Response.ContentType 
= "image/jpeg";
InBlock.gif            Response.BinaryWrite(ms.ToArray());
InBlock.gif
InBlock.gif            img.Dispose();
InBlock.gif            ms.Dispose();
InBlock.gif            ms.Flush();
-------------------------------------------------------------------------------------
// 上传的图片文件到Image
InBlock.gif
        System.Drawing.Image img = System.Drawing.Image.FromFile(fileImg.PostedFile.FileName);
InBlock.gif
InBlock.gif        
// 以Jpeg格式存到内存中
InBlock.gif
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
InBlock.gif        img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
InBlock.gif
InBlock.gif        
using (SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.MDF;Integrated Security=True;User Instance=True"))
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            SqlCommand cmd 
= new SqlCommand("spInsertImage", con);
InBlock.gif            cmd.CommandType 
= CommandType.StoredProcedure;
InBlock.gif
InBlock.gif            cmd.Parameters.Add(
"@ImageBinary", System.Data.SqlDbType.Image);
InBlock.gif            
// 图片的二进制数据
InBlock.gif
            cmd.Parameters["@ImageBinary"].Value = ms.ToArray();
InBlock.gif
InBlock.gif            con.Open();
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
// 调存储过程
InBlock.gif
                cmd.ExecuteNonQuery();
InBlock.gif                Response.Write(
"ok");
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                Response.Write(
"error");
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
InBlock.gif        img.Dispose();
InBlock.gif        ms.Dispose();
InBlock.gif        ms.Flush();
------------------------------------------------------------------------------
using (SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.MDF;Integrated Security=True;User Instance=True"))
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            SqlCommand cmd 
= new SqlCommand("spSelectImage", con);
InBlock.gif            cmd.CommandType 
= CommandType.StoredProcedure;
InBlock.gif
InBlock.gif            cmd.Parameters.Add(
"@ImageID", SqlDbType.Int);
InBlock.gif            
// 在DropDownList中所选的ImageId
InBlock.gif
            cmd.Parameters["@ImageID"].Value = Int32.Parse(ddlImage.SelectedValue);
InBlock.gif
InBlock.gif            con.Open();
InBlock.gif            SqlDataReader sdr 
= cmd.ExecuteReader();
InBlock.gif
InBlock.gif            Response.ClearContent();
InBlock.gif            Response.ContentType 
= "image/jpeg";
InBlock.gif            
while (sdr.Read())
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
// 读出相应记录的二进制并送显
InBlock.gif
                Response.BinaryWrite((byte[])sdr[0]);
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            sdr.Close();
InBlock.gif            sdr.Dispose();
ExpandedSubBlockEnd.gif        }

转载于:https://www.cnblogs.com/RobotTech/archive/2008/06/12/1218645.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值