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;
    }

  • 相关阅读:
    ABP初始化
    ABP生成错误:必须添加对程序集“netstandard”的引用
    树莓派安装Mysql
    多对多关系的中间表命名
    dapper.net 存储过程
    Rabbitmq发送方消息确认
    Rabbitmq发送消息Message的两种写法
    ThreadLocal原理
    多模块打包为可执行jar问题
    类中属性加载顺序的demo
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/3738465.html
Copyright © 2011-2022 走看看