C#实现文件与二进制互转并存入数据库
这篇文章主要介绍了C#实现文件与二进制互转并存入数据库,本文直接给出代码实例,代码中包含详细注释,需要的朋友可以参考下
//这个方法是浏览文件对象
private
void
button1_Click(
object
sender, EventArgs e)
{
//用户打开文件浏览
using
(OpenFileDialog dialog =
new
OpenFileDialog())
{
//只能单选一个文件
dialog.Multiselect =
false
;
//选择一个文件
if
(dialog.ShowDialog() == DialogResult.OK)
{
try
{
//把选择的文件路径给txtPath
this
.textBox1.Text = dialog.FileName;
}
catch
(Exception ex)
{
//抛出异常
throw
(ex);
}
}
}
}
//关闭
private
void
button3_Click(
object
sender, EventArgs e)
{
this
.Close();
}
//把文件转成二进制流出入数据库
private
void
button2_Click(
object
sender, EventArgs e)
{
FileStream fs =
new
FileStream(textBox1.Text, FileMode.Open);
BinaryReader br =
new
BinaryReader(fs);
Byte[] byData = br.ReadBytes((
int
)fs.Length);
fs.Close();
string
conn =
"server=.;database=testDB;Uid=sa;Pwd=sa "
;
SqlConnection myconn =
new
SqlConnection(conn);
myconn.Open();
string
str =
"insert into pro_table (pro_name,pro_file) values('测试文件',@file)"
;
SqlCommand mycomm =
new
SqlCommand(str, myconn);
mycomm.Parameters.Add(
"@file"
, SqlDbType.Binary, byData.Length);
mycomm.Parameters[
"@file"
].Value = byData;
mycomm.ExecuteNonQuery();
myconn.Close();
}
//从数据库中把二进制流读出写入还原成文件
private
void
button4_Click(
object
sender, EventArgs e)
{
string
conn =
"server=.;database=testDB;Uid=sa;Pwd=sa "
;
string
str =
"select pro_file from pro_table where pro_name='测试文件' "
;
SqlConnection myconn =
new
SqlConnection(conn);
SqlDataAdapter sda =
new
SqlDataAdapter(str, conn);
DataSet myds =
new
DataSet();
myconn.Open();
sda.Fill(myds);
myconn.Close();
Byte[] Files = (Byte[])myds.Tables[0].Rows[0][
"pro_file"
];
BinaryWriter bw =
new
BinaryWriter(File.Open(
"D:\\2.rdlc"
,FileMode.OpenOrCreate));
bw.Write(Files);
bw.Close();
}
C#实现文件与二进制互转并存入数据库的更多相关文章
- 【转载】C#将图片以二进制流的方式存入数据库
在C#开发应用程序的过程中,图片一般会存放在文件系统中,当然图片也可以二进制的方式存放到数据库中,不过一般不建议存放在数据库中,因为图片占用的空间还是挺大的,特殊情况下可以考虑将图片存在数据.此文将介 ...
- C# 文件与二进制互转数据库写入读出
//这个方法是浏览文件对象 private void button1_Click(object sender, EventArgs e) { //用户打开文件浏览 using (OpenFileDia ...
- Springboot(九).多文件上传下载文件(并将url存入数据库表中)
一. 文件上传 这里我们使用request.getSession().getServletContext().getRealPath("/static")的方式来设置文件的存储 ...
- svn 修改文件的二进制或文本标记
在添加一个文件的时候,svn自动标记成了二进制文件.当时也没在意就提交了.结果修改了之后不能进行svn diff操作,说是二进制文件不能进行diff操作.在网上找了个方法,修改这个文件的标记属性,把这 ...
- C# 压缩文件与字节互转
public class ZipBin { public byte[] bytes; //C#读取压缩文件(将压缩文件转换为二进制 public void GetZipToByte(string in ...
- c#常用工具类:文件和二进制转换
//================二进制相关转换类============== #region 将文件转换为二进制数组 /// <summary> /// 将文件转换为二进制数组 /// ...
- C# 文件与二进制之间的转换
/// <summary> /// 工具类:文件与二进制流间的转换 /// </summary> public class FileBinaryConvertHelper { ...
- HTML5新特性之文件和二进制数据的操作 Blob对象
HTML5新特性之文件和二进制数据的操作 1.Blob对象 2.FileList对象 3.File对象 4.FileReader 对象 5.URL对象
- hexdump 工具使用 和 .txt 文件的二进制查看
最近使用txt文件进行数据处理的时候,突然发现txt文件是怎样编码数据的了,它是以二进制来进行存储的吗?为了知道这个情况,我使用hexdump工具进行查看txt文件的二进制形式,并顺道进行学习了hex ...
随机推荐
- 访问url
你可以通过 args 属性来访问 URL 中提交的参数 ( ?key=value ): searchword = request.args.get('q', '') from flask import ...
- PHP iconv函数
最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些. iconv函数库能够完成各种字符集 ...
- JavaScript判断对象 是什么类型的.
// 这种方法不起作用 if (x == undefined) { // 作某些操作 } // 这个方法同样不起作用- if (typeof(x) == undefined) { // 作某些 ...
- Django 中间件简介
Django 中间件简介 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. ...
- vue2.0 transition 多个元素嵌套使用过渡
在做vue的demo的时候遇到一个问题,多个嵌套的元素如何设置transition? 我的代码:代码中元素整体做平移,里面的inner中做旋转,实现一个圆形滚动的效果 <transition n ...
- jQuery垂直滑动切换焦点图
在线演示 本地下载
- C++/VC中ANSI与UNICODE中字符定义和函数对照表
这样查起来方便多了 ANSI UNICODE 通用 说明 数据类型 (char.h) (wchar.h) (tchar.h) char wchar_t TCHAR char * wchar_t ...
- hbase 异常
1.org.apache.hadoop.hbase.ipc.CallTimeoutException a.出现情况描述:使用java API进行hbase数据的scan操作,发现有的数据可以scan到 ...
- hadoop入门小知识点
注意各个主机之间的通信 文件的复制 scp指令 scp /etc/profile acm03:/etc 所有历史版本: archive.apache.org hdfs://acm01:9000 ...
- JAVA实现IP地址解析
转载至:http://blog.csdn.net/dragontang/article/details/4151660 http://www.iteye.com/topic/340548#