zoukankan      html  css  js  c++  java
  • 数据库存储图片和读取图片

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Data.SqlClient;
    
    namespace WindowsFormsApplication2
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                OpenFileDialog op = new OpenFileDialog();
                DialogResult isok = op.ShowDialog();
                if (isok==DialogResult.OK)
                {
                    //公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。
                    FileStream fs = new FileStream(op.FileName, FileMode.Open);//mode一个常数,用于确定如何打开或创建文件。
                    Image img = System.Drawing.Bitmap.FromStream(fs);
                    pictureBox1.Image = img;
                    fs.Close();
                }
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                OpenFileDialog op = new OpenFileDialog();
                DialogResult isok = op.ShowDialog();
                if (isok == DialogResult.OK)
                {
                    //读取图片存入数据库
                    FileStream fs = new FileStream(op.FileName, FileMode.Open);
                    BinaryReader br = new BinaryReader(fs);//二进制读取器
                    byte[] buffer=new byte[fs.Length];//二进制字节数组
                    buffer=br.ReadBytes((int)fs.Length);
                    SqlConnection conn = new SqlConnection("server=.;database=car;uid=sa;pwd=123");
                    SqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "insert into pic values(4,@buffer)";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add("@buffer",buffer);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                    cmd.Dispose();
                    cmd.CommandText = "select top 1 * from pic order by code desc";
                    SqlDataReader dr = cmd.ExecuteReader();
                    byte[] by = new byte[fs.Length];
                    if (dr.Read())
                    {                                       
                        by=(byte[])(dr["pics"]);
                    }
                    MemoryStream ms = new MemoryStream(by);
                    Image img = System.Drawing.Bitmap.FromStream(ms);
                    pictureBox1.Image = img;
                }
            }
        }
    }
  • 相关阅读:
    你现在是否在高效地使用时间?
    关于不使用web服务实现文本框自动完成扩展
    SpringBoot(一) -- SpringBoot入门
    微信小程序(三)--小程序UI开发
    微信小程序(二)--逻辑层与界面层
    微信小程序(一)--微信小程序的介绍
    Spring学习(七)--Spring MVC的高级技术
    Spring学习(四)--面向切面的Spring
    Spring学习(三)--高级装配
    django源码分析 LazySetting对象
  • 原文地址:https://www.cnblogs.com/happinesshappy/p/4562890.html
Copyright © 2011-2022 走看看