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

  • 相关阅读:
    JavaWeb 输出九九乘法表,三角形,菱形
    模拟ATM机将输入的数据插入数据库
    JDBC连接数据库
    执行动态语句
    python深拷贝和浅拷贝
    redis数据库操作
    pymysql数据库操作
    linux 从Python 2.7升级至Python3.6.1
    模块---常用模块
    模块---安装模块
  • 原文地址:https://www.cnblogs.com/ChineseMoonGod/p/3738465.html
Copyright © 2011-2022 走看看