SilverLight C#程序之:把文件转为二进制流保存到数据库(任意文件类型)
2011-04-12 14:17
651 查看
在C#程序里面我们经常会遇到文件上传的问题。
目前正在做一个SilverLight项目,也需要上传文件这样一个功能。。。
杯具的是SilverLight没有提供给我们够牛的上传控件,为此我们不得不,花费大量的精力自定义一个上传控件。。。
废话不多说看效果:
View Code
主窗体保存数据库
大功告成!!!
作者:记忆逝去的青春
出处:http://www.cnblogs.com/lukun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过http://www.cnblogs.com/lukun/ 联系我,非常感谢。
目前正在做一个SilverLight项目,也需要上传文件这样一个功能。。。
杯具的是SilverLight没有提供给我们够牛的上传控件,为此我们不得不,花费大量的精力自定义一个上传控件。。。
废话不多说看效果:
View Code
//两个命令 确定和退出 SaveCommand = new DelegateCommand(DoSave); CancelCommand = new DelegateCommand(() => View.Close()); /// <summary> /// 保存数据 /// </summary> void DoSave() { //获取上传控件里面的文件 var fileInfos = View.Conterl.file.SelectedFiles; if (fileInfos == null) { MessageBox.Show("没有要上传的文件"); return; } //获取主界面 列表里面的行数 //用于修改 假如主界面有三个 现在上传的就给原基础上添加 //没有做防重复 事件 var i= IContractListViewModel.ConAttachmentModelList.Count; ConAttachmentModelList = new List<ConAttachmentModel>(); //遍历上传控件里面的所有文件 //本控件可以上传多个文件 foreach (var fileInfo in fileInfos) { //序号++ i++; //读取文件 var fs = fileInfo.OpenRead(); //实例二进制转换器 var br = new BinaryReader(fs); //写入二进制流 var filebyte = br.ReadBytes((int) fs.Length); //实现一个保存到数据库的实体 ConAttachmentModel = new ConAttachmentModel { ConAtt_Files = filebyte, ConAtt_MakerName = "管理员", ConAtt_Name = fileInfo.Name, ConAtt_OrderNum = i, ConAtt_Remark = "文件名: "+fileInfo.Name + "上传时间: " + DateTime.Now }; ConAttachmentModelList.Add(ConAttachmentModel); } //关闭窗口 CancelCommand.Execute(null); //遍历当前列表 //添加到主窗体 foreach (var conAttachmentModel in ConAttachmentModelList) { IContractListViewModel.ConAttachmentModelList.Add(conAttachmentModel); } }
主窗体保存数据库
foreach (var conAttachmentModel in ContractModel.ConAttachmentModelList) { conAttachmentModel.ConAtt_Id = Guid.NewGuid(); conAttachmentModel.Save(); }
大功告成!!!
作者:记忆逝去的青春
出处:http://www.cnblogs.com/lukun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过http://www.cnblogs.com/lukun/ 联系我,非常感谢。
相关文章推荐
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- C#将文件上传、下载(以二进制流保存到数据库)
- 程序自保存任意类型资源文件
- 程序自保存任意类型资源文件
- C# WinForm程序的App.Config数据库连接配置文件
- 在SQL Server中保存和输出任意类型的文件[转贴]
- C# XML配置文件读写类(用于程序配置保存)
- C#读取CSV文件并保存进数据库
- 在SQL Server中保存和输出任意类型的文件
- C#项目打开/保存文件夹/指定类型文件,获取路径
- C#连接Access数据库,各类程序连接不同类型数据库 [待补充]
- [转]C#将文件保存到数据库中或者从数据库中读取文件
- C#使用BinaryWriter将二进制流保存为文件
- c#开发一个“记事本”程序,要求能够实现文件的新建、打开、编辑、保存功能
- 将文件上传、下载(以二进制流保存到数据库)实现代码
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- C#中的数据库连接——WinForm程序中两份mdf文件问题的解决
- C#保存文件及图片到数据库中
- 使用C#将二进制文件保存到数据库中
- C#将文件保存到数据库中或者从数据库中读取文件