• 二进制 图片 数据库


    // 上传的图片文件到Image
                System.Drawing.Image img = System.Drawing.Image.FromFile(fileImg.PostedFile.FileName);

                
    // 以Jpeg格式存到内存中
                System.IO.MemoryStream ms = new System.IO.MemoryStream();
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

                
    // 输出Response.BinaryWrite(二进制)
                Response.ClearContent();
                Response.ContentType 
    = "image/jpeg";
                Response.BinaryWrite(ms.ToArray());

                img.Dispose();
                ms.Dispose();
                ms.Flush();
    -------------------------------------------------------------------------------------
    // 上传的图片文件到Image
            System.Drawing.Image img = System.Drawing.Image.FromFile(fileImg.PostedFile.FileName);

            
    // 以Jpeg格式存到内存中
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

            
    using (SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.MDF;Integrated Security=True;User Instance=True"))
            
    {
                SqlCommand cmd 
    = new SqlCommand("spInsertImage", con);
                cmd.CommandType 
    = CommandType.StoredProcedure;

                cmd.Parameters.Add(
    "@ImageBinary", System.Data.SqlDbType.Image);
                
    // 图片的二进制数据
                cmd.Parameters["@ImageBinary"].Value = ms.ToArray();

                con.Open();
                
    try
                
    {
                    
    // 调存储过程
                    cmd.ExecuteNonQuery();
                    Response.Write(
    "ok");
                }

                
    catch
                
    {
                    Response.Write(
    "error");
                }

            }


            img.Dispose();
            ms.Dispose();
            ms.Flush();
    ------------------------------------------------------------------------------
    using (SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.MDF;Integrated Security=True;User Instance=True"))
            
    {
                SqlCommand cmd 
    = new SqlCommand("spSelectImage", con);
                cmd.CommandType 
    = CommandType.StoredProcedure;

                cmd.Parameters.Add(
    "@ImageID", SqlDbType.Int);
                
    // 在DropDownList中所选的ImageId
                cmd.Parameters["@ImageID"].Value = Int32.Parse(ddlImage.SelectedValue);

                con.Open();
                SqlDataReader sdr 
    = cmd.ExecuteReader();

                Response.ClearContent();
                Response.ContentType 
    = "image/jpeg";
                
    while (sdr.Read())
                
    {
                    
    // 读出相应记录的二进制并送显
                    Response.BinaryWrite((byte[])sdr[0]);
                }


                sdr.Close();
                sdr.Dispose();
            }

  • 相关阅读:
    史上最烂的项目:苦撑 12 年,600 多万行代码
    老司机开车,教会女朋友「马拉车算法」的正确姿势
    想知道妹子喜不喜欢你?哈佛少年的AI,凭聊天记录算出心动概率,安卓苹果可用...
    这 10 个让你笑的合不拢嘴的 GitHub 项目,居然拿了 7 万星!
    短小精悍,双指针对撞,求解「两数之和 II」
    盘点今年秋招那些“送命”的算法面试题
    经验分享:关于计算机读研的小建议
    没想到吧,这就是算法工程师的一天!
    学习算法有什么入门级的书 ? 或者学习资料。
    超详细!详解一道高频算法题:数组中的第 K 个最大元素
  • 原文地址:https://www.cnblogs.com/RobotTech/p/1218645.html
Copyright © 2020-2023  润新知