asp.net FileUpload 控件上传文件 以二进制的形式存入数据库并将图片显示出来

图片上传事件代码如下所示:

 1         byte[] binary = upload.FileBytes;
 2             StringBuilder sqlStrSb = new StringBuilder();
 3             sqlStrSb.Append("update info set Thumb=?Imgwhere Id=200");
 4             string mySqlConStr = "Host=localhost; uid=root; pwd=123; DataBase=db";
 5             MySqlConnection mySqlCon = new MySqlConnection(mySqlConStr);
 6             mySqlCon.Open();
 7             MySqlCommand mySqlCom = new MySqlCommand();
 8             mySqlCom.CommandText = sqlStrSb.ToString();
 9             mySqlCom.Connection = mySqlCon;
10             MySqlParameter par = new MySqlParameter("?Img", MySqlDbType.VarBinary);
11             par.Value = binary;
12             mySqlCom.Parameters.Add(par);
13             int afn = mySqlCom.ExecuteNonQuery();
14             mySqlCon.Close();

注:转为二进制存入数据库的时候必须使用 MySqlDbType.VarBinary 或者 MySqlDbType.Binary 进行数据类型的限定。

图片显示代码如下所示:

 1             string mySqlConStr = "Host=host;uid=root;pwd=123;DataBase=db;";
 2             string sqlStr = "select ThumbData from info where Id=200;";
 3             MySqlConnection mySqlCon = new MySqlConnection(mySqlConStr);
 4             mySqlCon.Open();
 5             MySqlCommand mySqlComd = new MySqlCommand();
 6             mySqlComd.CommandText = sqlStr;
 7             mySqlComd.Connection = mySqlCon;
 8             MySqlDataAdapter mySqlSda = new MySqlDataAdapter();
 9             mySqlSda.SelectCommand = mySqlComd;
10             DataSet ds = new DataSet();
11             mySqlSda.Fill(ds);
12             if (ds.Tables.Count > 0)
13             {
14                 byte[] dataByte = (byte[])ds.Tables[0].Rows[0][0];
15                 Response.BinaryWrite(dataByte);
16                 Response.Flush();
17                 Response.End();
18             }
19             mySqlCon.Close();

页面显示部分:

1         <img src="ShowImage.aspx" />

 

转载于:https://www.cnblogs.com/dolphin-gjh/p/5689903.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值