建立一个windows窗体应用程序,在form1界面中拖入两个按钮和一个pictureBox,通过输入输出流来上传图片和显示图片。需要添加一下openFileDialog1.

界面如下:

在cs中写上传和显示图片的方法

  1. //上传图片
  2. private void button1_Click(object sender, EventArgs e)
  3. {
  4. //图片的转化
  5. openFileDialog1.Filter = "*jpg|*.jpg|*bmp|*.bmp|*gif|*.gif";//设置图片另存为文件类型格式,filter是文件筛选器
  6. DialogResult da = openFileDialog1.ShowDialog();
  7. if(da==DialogResult.OK)
  8. {
  9. string fil = openFileDialog1.FileName;
  10. FileStream fs = new FileStream(fil,FileMode.Open,FileAccess.Read);
  11. byte[] img=new byte[fs.Length];
  12. BinaryReader br = new BinaryReader(fs);//二进制读取器
  13. img = br.ReadBytes(Convert.ToInt32(fs.Length));
  14. //链接数据库
  15. SqlConnection conn = new SqlConnection("server=.;database=newData;user=sa;pwd=123");
  16. conn.Open();
  17. SqlCommand cmd = conn.CreateCommand();
  18. cmd.CommandText = "insert into Table_1 values(@image)";
  19. cmd.Parameters.Clear();
  20. cmd.Parameters.Add("@image",img);
  21. cmd.ExecuteNonQuery();
  22. conn.Close();
  23. MessageBox.Show("上传成功");
  24.  
  25. }

上传图片的方法

  1. //从数据库中读取图片
  2. private void button2_Click(object sender, EventArgs e)
  3. {
  4. SqlConnection conn = new SqlConnection("server=.;database=newData;user=sa;pwd=123");
  5. conn.Open();
  6. SqlCommand cmd = conn.CreateCommand();
  7. cmd.CommandText = "select top 1*from Table_1";
  8. SqlDataReader dr = cmd.ExecuteReader();
  9. dr.Read();
  10. byte[] img = (byte[])dr["Ino"];
  11. // byte[] img1=(byte[])dr["Ino"];
  12. MemoryStream ms = new MemoryStream(img,,img.Length);
  13. ms.Write(img,,img.Length);
  14. Image image = Image.FromStream(ms);
  15. this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
  16. this.pictureBox1.Image = image;
  17. }

从数据库显示图片的方法

02-20 winform 上传图片并读取图片的更多相关文章

  1. C#(WinForm)上传图片保存到数据库和从数据库读取图片显示到窗体

    //浏览图片 private void btnUp_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialo ...

  2. EF+LINQ事物处理 C# 使用NLog记录日志入门操作 ASP.NET MVC多语言 仿微软网站效果(转) 详解C#特性和反射(一) c# API接受图片文件以Base64格式上传图片 .NET读取json数据并绑定到对象

    EF+LINQ事物处理   在使用EF的情况下,怎么进行事务的处理,来减少数据操作时的失误,比如重复插入数据等等这些问题,这都是经常会遇到的一些问题 但是如果是我有多个站点,然后存在同类型的角色去操作 ...

  3. HTML中上传与读取图片或文件(input file)----在路上(25)

    input file相关知识简例 在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传.批量上传.删除照片.增加照片.读取图片.对上传的图片或文件的判断,比如限制图片的张数.限 ...

  4. [转]asp.net mvc 从数据库中读取图片

    本文转自:http://www.cnblogs.com/mayt/archive/2010/05/20/1740358.html 首先是创建一个类,继承于ActionResult,记住要引用Syste ...

  5. 最蛋疼的bug:读取图片缩略图(一定要在相冊查看下形成缓存)

    近期的一个连接服务端的应用.须要读取图片,一般供用户公布商品选择上传图片.初始的图片列表应该是缩略图.仅仅有确定了,才上传原图,OK不多说上代码 package edu.buaa.erhuo; imp ...

  6. nginx读取图片没有权限

    场景是这样的,我们项目中上传图片到linux服务器后,保存图片存储路径和网络访问路径.app中用数据库返回的 图片访问路径来访问图片(nginx通过nfs方式读取图片).但是访问不到.要手动 chmo ...

  7. 使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器

    使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器 ajax上传主要使用了 var reader = new FileReader() 此方法 js图片压缩主要是利用canvas进 ...

  8. [Xcode 实际操作]九、实用进阶-(12)从系统相册中读取图片

    目录:[Swift]Xcode实际操作 本文将演示从系统相册中读取图片. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //添加两个协议 ...

  9. MVC中根据后台绝对路径读取图片并显示在IMG中

    数据库存取图片并在MVC3中显示在View中 根据路径读取图片: byte[] img = System.IO.File.ReadAllBytes(@"d:\xxxx.jpg"); ...

随机推荐

  1. 【python】类file文件处理

    [flush方法] 通常由于缓冲,write不将数据写入文件,而是写入内存的缓冲区,需要使用flush写入文件,并清空缓冲区 文件的flush方法的作用是强制清空缓存写入文件.默认每行flush一下? ...

  2. java事务(三)——自己实现分布式事务

    在上一篇<java事务(二)——本地事务>中已经提到了事务的类型,并对本地事务做了说明.而分布式事务是跨越多个数据源来对数据来进行访问和更新,在JAVA中是使用JTA(Java Trans ...

  3. Okhttp源码简单解析(一)

    业余时间把源码clone下来大致溜了一遍,并且也参阅了其余大神的博客,在这里把自己的心得记录下来共享之,如有不当的地方欢迎批评指正.本文是Okttp源码解析系列的第一篇,不会深入写太多的东西,本篇只是 ...

  4. TCP的保活定时器 转

    http://blog.csdn.net/zhangskd/article/details/44177475 TCP的Keepalive,目的在于看看对方有没有发生异常,如果有异常就及时关闭连接. 当 ...

  5. python tricks —— datetime 删除日期中的前导 0

    >> from datetime import datetime >> now = datetime.now() >> now.strftime('%Y-%m-%d ...

  6. iOS10修改电池状态栏的方法

  7. 在vue项目中正确的引入jquery和bootstrap

    <script>标签引入jquery在vue脚手架里并不适用,需要利用webpack引入jquery 一.第一种方法 1:因为已经安装了vue脚手架,所以需要在webpack中全局引入jq ...

  8. bisect模块用于插入

    参考链接: chttp://www.cnblogs.com/skydesign/archive/2011/09/02/2163592.html水

  9. redis key设计技巧

    把表名转换为key前缀, 第二端放置表用于区分区key的字段–对应mysql中的主键的列名如userid. 3.放置主键值,如1,2,3,…..,a,b,c. 4.放要存储的列名 user表 user ...

  10. php与JAVA的RSA加密互通

    Java 版本RSA 进行加密解密 在网上查询了好几天,最终找到解决方案,网络上都是通过Cipher.getInstance("RSA"); 而改成Cipher.getInstan ...