zoukankan      html  css  js  c++  java
  • 图片和二进制间的转换

    1.根据路径把图片转成二进制保存在数据库里

    public bool SaveImage(string filePath)
    {
    bool isSuccess = false;
    string FilePath = filePath;
    string filename = FilePath.Substring(FilePath.LastIndexOf("\") + 1); //得到上传文件的文名
    string filetext = string.Empty;
    FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Read);
    BinaryReader br = new BinaryReader(fs);
    byte[] fileByte = br.ReadBytes((int)fs.Length);//将流读入到字节数组中
    //Byte[] fileByte = new Byte[(int)fs.Length];
    //fs.Read(fileByte, 0, fileByte.Length);
    //filetext = System.Text.Encoding.Default.GetString(fileByte); //将指定字节数组中的说有字节解码为一个字符串
    SqlConnection conn = new SqlConnection(@"server=192.168.0.173;database=SoyErp;uid=sa;pwd=sa;");

    conn.Open();
    StringBuilder strSql = new StringBuilder();
    strSql.Append("INSERT INTO dbo.picSaveToSql ( ImgFile) VALUES ( @Photo )");
    SqlCommand cmd = new SqlCommand(strSql.ToString(), conn);
    cmd.Parameters.Add("@Photo", SqlDbType.Binary).Value = fileByte;
    isSuccess = cmd.ExecuteNonQuery() > 0 ? true : false;
    conn.Close();
    fs.Close();
    return isSuccess;
    }

    //从数据库里根据二进制转成图片

    public Bitmap Get_Image()
    {
    byte[] imagebytes = null;
    SqlConnection conn = new SqlConnection(@"server=192.168.0.173;database=SoyErp;uid=sa;pwd=sa;");
    conn.Open();
    SqlCommand com = new SqlCommand(" SELECT top 1 * FROM picSaveToSql ", conn);
    SqlDataReader dr = com.ExecuteReader();
    while (dr.Read())
    {
    imagebytes = (byte[])dr.GetValue(0);
    }
    dr.Close();
    conn.Close();
    MemoryStream ms = new MemoryStream(imagebytes);
    Bitmap bmpt = new Bitmap(ms);
    return bmpt;
    }

  • 相关阅读:
    C#实现简单的委托异步调用
    jquery each遍历节点使用
    js操作document文档元素 节点交换交换
    js闭包使用
    .net下各个数据类型所占用的字节
    html file控件选择文件后立即预览 js实现
    叉积运用-判断凸多边形
    高精度算法-大数加法
    Dfs学习经验(纸上运行理解DFS)【两道题】
    a标签点击后更改颜色
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/3738465.html
Copyright © 2011-2022 走看看