解决了困扰一周的问题

/// <summary>  
      /// 根据对应的imgid 把base=>二进制=>存入数据库  
      /// </summary>  
      /// <param name="imgID"></param>  
      /// <param name="imgbase"></param>  
      /// <returns></returns>  
      public ActionResult getbase(string imgID,string imgbase)  
      {  
          cb.imageID = Convert.ToInt32(imgID);  
          Encoding.Default.GetBytes(imgbase);  
          byte[] imgbyte = System.Convert.FromBase64String(imgbase);  
          //第一种可以这样  
          //System.IO.File.WriteAllBytes(@"E:\test\1.jpg", imgbyte);  
          cb.base64 = imgbyte;  
          //第二种  
          //MemoryStream ms = new MemoryStream(imgbyte);  
          //FileStream fs = new FileStream(@"E:\test\1.jpg", FileMode.Create);  
          //ms.WriteTo(fs);  
          //ms.Close();  
          //fs.Close();  
            
          int result = cm.clipImg(cb);  
          if (result > 0)  
          {  
              ViewData["msg"] = "成功";  
          }  
          else  
          {  
              ViewData["msg"] = "失败";  
          }  
          return View();  
      }  
      /// <summary>  
      /// 根据id 得到图片  
      /// </summary>  
      /// <param name="imgID"></param>  
      /// <returns></returns>  
      public FileResult getimg(string imgID)  
      {  
          int imageID = 8;  
            
          ClipBase64 cate = cm.getimg(imageID);  
          if (cate != null)  
          {  
              return File(cate.base64, "image/jpg", "Imag1");  
          }  
          else { return null; }  
      }  

DAL层:
/// <summary>  
        /// 裁剪图片插入数据库  
        /// </summary>  
        /// <param name="cb"></param>  
        /// <returns></returns>  
        public int clipImg(ClipBase64 cb)  
        {  
            string sql = "INSERT INTO ClipBase64(ImageId,base64)values(@imageID,@base64)";  
            SqlParameter[] pars = new SqlParameter[2];  
            pars[0] = new SqlParameter("@imageID", cb.imageID);  
            pars[1] = new SqlParameter("@base64", cb.base64);  
            int result = SqlHelper.ExecuteNoQuery(sql, CommandType.Text, pars);  
            return result;  
        }   
        /// <summary>  
          /// 得到图片  
          /// </summary>  
          /// <returns></returns>  
        public ClipBase64 getimg(int id)  
        {  
            string sql = "select base64 from ClipBase64 where ImageId=@id" ;  
            SqlParameter[] par = new SqlParameter[1];  
            par[0] = new SqlParameter("@Id", id);  
            DataTable dt = SqlHelper.ExecuteDataTable(sql, CommandType.Text, par);  
            DataRow dr = dt.Rows[0];  
            ClipBase64 c = new ClipBase64();  
            //c.imageID = Convert.ToInt32(dr["AdminId"]);  
            c.base64 = (byte[])(dr["base64"]);  
            return c;  
        }  

 

转载于:https://my.oschina.net/u/3279648/blog/868740

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值