protected void Button1_Click(object sender, EventArgs e)
{
Stream ms;
byte[] picbyte;
ms = File.OpenRead(@"D://test//20034814613.jpg");
picbyte=new byte[ms.Length];
ms.Read(picbyte,0,Convert.ToInt32(ms.Length));
decimal size = Convert.ToDecimal(this.TextBox1.Text);
string sql = "insert pic img values(@img,@size)";
SqlConnection sqlConn = new SqlConnection(@"server=TECH-02/SQLEXPRESS;Integrated Security = true;database = Talent");
SqlCommand sqlCmd = new SqlCommand(sql, sqlConn);
sqlCmd.Parameters.Add("@img", SqlDbType.Image);
sqlCmd.Parameters["@img"].Value = picbyte;
sqlCmd.Parameters.Add("@size", SqlDbType.Decimal);
sqlCmd.Parameters["@size"].Value = size;
sqlConn.Open();
int n=sqlCmd.ExecuteNonQuery();
if (n > 0) {
Response.Write("<script>alert('ok');</script>");
}
sqlConn.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
string sql = "select picContent from pic";
SqlConnection sqlConn = new SqlConnection(@"server=TECH-02/SQLEXPRESS;Integrated Security = true;database = Talent");
SqlCommand sqlCmd = new SqlCommand(sql, sqlConn);
sqlConn.Open();
SqlDataReader sdr = sqlCmd.ExecuteReader();
while (sdr.Read())
{
byte[] bytes = ((byte[])sdr["picContent"]);//1通过路径输出
bytes2picFile(bytes);
//Response.ContentType = "application/octet-stream";//2直接二进制流输出
//Response.BinaryWrite((Byte[])sdr["picContent"]);
}
}
public void bytes2picFile(byte[] data)
{
string url = "images/" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".jpg";
Directory.CreateDirectory(url);//DirectoryExists()
FileStream fs =new FileStream(Server.MapPath(url),System.IO.FileMode.Create);
fs.Write(data, 0, data.Length);
fs.Close();
this.Image1.ImageUrl = url;
}
<form id="form1" runat="server">
<div>
<table>
<tr>
<td style="width: 100px">
<asp:FileUpload ID="FileUpload1" runat="server" /></td>
<td style="width: 100px">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
<td style="width: 100px">
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="二进制写入数据库" /></td>
</tr>
<tr>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
<asp:Image ID="Image1" runat="server" Width="226px" /></td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
<tr>
<td style="width: 100px">
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="读取二进制数据" /></td>
<td style="width: 100px">
</td>
<td style="width: 100px">
</td>
</tr>
</table>
</div>
</form>