文件存取图片

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.IO;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 文件存取图片
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //定义缓冲区
        byte[] b;
 
        private void btnAddPhoto_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                txtPath.Text = openFileDialog1.FileName;
            }
            FileStream fs = new FileStream(txtPath.Text, FileMode.Open, FileAccess.Read);
            b = new byte[fs.Length];
            fs.Read(b, 0, b.Length);
            Stream s = new MemoryStream(b,0,b.Length);
            pictureBox1.Image = Image.FromStream(s);
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            //构造文件名
            int start =txtPath.Text.LastIndexOf(".");
            int length = txtPath.Text.Length-start;
            string ext = txtPath.Text.Substring(start, length);
            string path = txtPath.Text.Substring(0, txtPath.Text.LastIndexOf("//"));
            string filename = DateTime.Now.ToString() + DateTime.Now.Millisecond.ToString();
            filename = filename.Replace(":", "").Replace(" ","").Replace("-","");
            string file = Application.StartupPath + "[url=file:images//]//images//[/url]" + filename+ ext;
            //保存到文件
            FileStream fs = new FileStream(file, FileMode.Create, FileAccess.Write);
            fs.Write(b, 0, b.Length);
            fs.Close();

            SqlConnection con = new SqlConnection("server=.;database=pubs;uid=sa;pwd=123456");
            string sql = "insert into userinfo values(@userName,@PhotoPath)";
            SqlCommand cmd = new SqlCommand(sql, con);
            cmd.Parameters.Add("@userName",SqlDbType.VarChar,50);
            cmd.Parameters[0].Value = txtUserName.Text;
            cmd.Parameters.Add("@PhotoPath", SqlDbType.VarChar,200);
            cmd.Parameters["@PhotoPath"].Value = file;
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            MessageBox.Show("添加完毕");
        }
        private void btnGet_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection("server=.;database=pubs;uid=sa;pwd=123456");
            string sql = "select * from userinfo where username [email==@username]=@username[/email]";
            SqlCommand cmd = new SqlCommand(sql, con);
            cmd.Parameters.Add("@username",SqlDbType.VarChar,50);
            cmd.Parameters[0].Value = txtGetName.Text;
            con.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if(!dr.HasRows)
            {
                MessageBox.Show("不存在该用户");
                dr.Close();
                con.Close();
                return;
            }
            dr.Read();//游标下移
            string path = dr["PhotoPath"].ToString();
            FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
            byte[] photo = new byte[fs.Length];
            fs.Read(photo, 0, photo.Length);
            Stream s = new MemoryStream(photo);
            pictureBox2.Image = Image.FromStream(s);
            con.Close();
            MessageBox.Show("读取完毕");
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值