把图片 保存成字符流 到数据库里

后台代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using DM;
using BLL;

namespace UI
{
    public partial class AddUserImageInfo : Form
    {
        UserImageInfoBLL bll = new UserImageInfoBLL();
        public AddUserImageInfo()
        {
            InitializeComponent();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            UserImageInfoDM imageinfodm = new UserImageInfoDM();
            imageinfodm.UserName = this.txtUserName.Text;
            imageinfodm.Password = this.txtPassword.Text;
            imageinfodm.Age = Convert.ToInt32(this.txtAge.Text);
            imageinfodm.Sex = rdoMan.Checked ? '男' : '女';
            imageinfodm.Email = this.txtEmail.Text;
            //创建文件流
            FileStream fs = new FileStream(this.pictureBox1.ImageLocation, FileMode.Open);
            //声明byte数组
            byte[] bytes = new byte[fs.Length];
            //读取数组
            fs.Read(bytes, 0, bytes.Length);
            fs.Close();
            imageinfodm.Image = bytes;
            if (bll.AddUserImageInfo(imageinfodm)==1)
            {
                MessageBox.Show("添加成功");
                this.txtUserName.Text = "";
                this.txtPassword.Text = "";
                this.txtEmail.Text = "";
                this.txtBeSure.Text = "";
                this.txtAge.Text = "";
                this.pictureBox1.Image = null;
            }
            else
            {
                MessageBox.Show("添加失败");
            }
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            DialogResult re = this.openFileDialog1.ShowDialog();
            if (re==DialogResult.OK)
            {
                this.pictureBox1.ImageLocation = this.openFileDialog1.FileName;//把路径赋给PictureBox
            }
        }

        private void btnShow_Click(object sender, EventArgs e)
        {
            //取出的数据时byte[]
            byte[] bytes = bll.SelectImageByUserName(this.txtUserName.Text);
            MemoryStream ms = new MemoryStream(bytes); //从内存流中读取数据
            this.pictureBox1.Image = Image.FromStream(ms);
        }
    }
}

原文地址:https://www.cnblogs.com/chenghu/p/2526516.html