9、面向对象以及winform的简单运用(输入输出流、图像的上传和读取)
一、输入输出流
1、概念:
输入输出流主要用于保存、读取文件,其内容保存在内存中。
2、使用方法:
using System.IO;
//System.IO 命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。
3、代码段实现读取和保存功能:
读取文字:
OpenFileDialog op = new OpenFileDialog();
op.ShowDialog();//打开文件对话框 //将选择的东西读取到文档里
StreamReader sd = new StreamReader(op.FileName,System.Text.Encoding.Default); //写入文本box中
this.textBox1.Text = sd.ReadToEnd(); sd.Close();//关闭流
保存文档:
SaveFileDialog save = new SaveFileDialog();
if(save.ShowDialog() == DialogResult.OK)
{
string filename = save.FileName;
StreamWriter sw = new StreamWriter(filename);//开辟一个硬盘空间
sw.Write(this.textBox1.Text);//写入文本内容
sw.Close();
}
二、图像上传到数据库、读取
1、上传
一般是将图像转换成二进制数据后上传:
openFileDialog1.Filter = "*jpg|*.jpg|*bmp|*.bmp|*gif|*.gif"; //规定只能读取图片格式,从内存里读取一张图片
DialogResult dia = openFileDialog1.ShowDialog();
if (dia == DialogResult.OK)
{
string filename = openFileDialog1.FileName;
FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);//将图片读入流中
byte[] imagebytes = new byte[fs.Length];//二进制数组,用以临时存储图像的二进制编码
BinaryReader br = new BinaryReader(fs);//二进制读取器
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));//将图片读入到二进制数组中
}
然后连接数据库,将imagebytes数据传到库中即可。
2、读取
首先读取数据库中的image数据,定义一个byte[]类型的对象用来接收。
//将图像写入内存
MemoryStream ms = new MemoryStream(imgbytes, , imgbytes.Length);
ms.Write(imgbytes, , imgbytes.Length); Image img = Image.FromStream(ms);
//建一个pictureBox控件,接受读取到的图片
this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
this.pictureBox1.Image = img;
9、面向对象以及winform的简单运用(输入输出流、图像的上传和读取)的更多相关文章
- 1、面向对象以及winform的简单运用(开篇)
面向对象概述: 要学习好面向对象,我们应该从三个问题入手: 1.什么是面向对象? 2.为什么要面向对象? 3.该怎么面向对象? 面向对象,首先要有一个对象,那么对象是什么呢? 对象的定义是人们要进行研 ...
- 简单的html5 File base64 图片上传
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- C# winform截图、web Cropper图片剪切、上传
今天又来一弹,写了个小功能,windows 桌面截图,web剪切图片上传的功能. 废话不多说,直接上图: 1.winform 截屏功能 图1 主窗体 点击全屏截图,就已经全屏截图了,截图后,图片保存在 ...
- Html5 填表 表单(二) input type 各种输入, 各种用户选择,上传等等泛输入用户交互
<input> 无限制输入 type 限制输入 type = 如下类型 type 后还可以跟一些属性: 如<input type=text max ...
- 8、面向对象以及winform的简单运用(事件与winform入门)
事件 Visual studio中对可视化窗体控件的事件处理机理: 所有的.NET Framework可视化窗体控件的预定义事件,都会某一对应的“事件名+Handler”委托类型的变量.与此事件相关的 ...
- 3、面向对象以及winform的简单运用(类的初步认识)
什么是类? “类”是面向对象编程的基本单元,一个类一般包含两种成员:字段和方法——即变量和函数. 例: //字段或变量的定义 public int age; //方法或函数的定义 public int ...
- 2、面向对象以及winform的简单运用(面向对象的四大基本特性)
面向对象的四大基本特性 面向对象的核心概念就是封装.抽象.继承.多态这四大基本特性,在这里先解释一下它们的定义: 封装:是一种隐藏信息的特性.找到变化并且把它封装起来,你就可以在不影响其它部分的情况下 ...
- 10、面向对象以及winform的简单运用(isMdicontainer的设置、timer控件进行倒计时的制作)
IsMdicontainer的设置 这是对于整个窗体的设置,将一个窗体的IsMdicontainer设置为true之后,再打开新窗体便可以让新窗体被父容器包括在内. 操作方法: 1)先建立一个子窗体C ...
- 7、面向对象以及winform的简单运用(委托)
委托 1.概念: 委托可以看成是一个函数的“容器”,将某一具体的函数“装入”后,就可以把它当成函数一样使用.委托变量可看成是一种类型安全的函数指针,它只能接收符合其要求的函数地址. 2.定义方法:de ...
随机推荐
- 初识zookeeper(一)之zookeeper的安装及配置
1.简要介绍 zookeeper是一个分布式的应用程序协调服务,是Hadoop和Hbase的重要组件,是一个树型的目录服务,支持变更推送.除此还可以用作dubbo服务的注册中心. 2.安装 2.1 下 ...
- uva 12655 Trucks [LCA](树链剖分+MST)
The Subtle Balloons Company (SBC) is the main balloon provider for programming contests; it hashuge ...
- 【Android UI设计与开发】7.底部菜单栏(四)PopupWindow 实现显示仿腾讯新闻底部弹出菜单
前一篇文章中有用到 PopupWindow 来实现弹窗的功能.简单介绍以下吧. 官方文档是这样解释的:这就是一个弹出窗口,可以用来显示一个任意视图.出现的弹出窗口是一个浮动容器的当前活动. 1.首先来 ...
- 实用图像处理入门 - 2 - Windows平台下编译openCV
标签中的部分 font-family: 华文细黑; font-size: 26px; font-weight: bold; color: #611427; margin-top:40px; } h2 ...
- 微信公众号开发之LBS
百度地图Web服务api:http://lbsyun.baidu.com/index.php?title=webapi 1.测距 Route Matrix API v2.0:http://lbsyun ...
- 权限框架 - shiro 自定义realm
上篇文章中是使用的默认realm来实现的简单登录,这仅仅只是个demo,真正项目中使用肯定是需要连接数据库的 首先创建自定义realm文件,如下: 在shiro中注入自定义realm的完全限定类名: ...
- Java虚拟机详解01----初识JVM
主要内容如下: JVM的概念 JVM发展历史 JVM种类 Java语言规范 JVM规范 一.JVM的概念: JVM: Java Virtual Machine,意为Java虚拟机. 虚拟机: 指通过软 ...
- 深入.NET框架 项目《魔兽登录系统》
创建魔兽系统相关窗体: 登录窗体(frmLogin) 注册窗体(frmRegister) 主窗体 (frmMain) 实现魔兽登录系统: 登录的界面如下 实现思路: 1.创建一个对象数组,长度为1 ...
- Android签名详解(debug和release)
1. 为什么要签名 1) 发送者的身份认证 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包不被替换 2) 保证信息传输的完整性 签名对于包中的每个文 ...
- usb驱动开发10之usb_device_match
在第五节我们说过会专门分析函数usb_device_match,以体现模型的重要性.同时,我们还是要守信用的. 再贴一遍代码,看代码就要不厌其烦. static int usb_device_matc ...