文件以二进制存入数据库和从数据库读取二进制文件
2013-08-06 10:15
357 查看
if (FileUpload1.FileContent != null){int len = (int)FileUpload1.FileContent.Length;string path = Server.MapPath("~/test/xx.docx");//"@d:\\xx.docx";FileUpload1.SaveAs( path);FileStream fs = new FileStream(path,FileMode.Open,FileAccess.Read);BinaryReader br = new BinaryReader(fs); FileByteEx = br.ReadBytes(len); /*如果长度大于int类型的最大长度时可以考虑分段进行读取 while(redLen<total){ buffer = new byte[size]; buffer=br.ReadBytes(size); redLen += size; } */fs.Close(); br.Close(); //注只是写个大概的意思,下边创建数据库连接什么的都没有具体写。 SqlCommand cmd=new Sqlcommand(); string sql="insert into test([file]) values (@file)";SqlParameter par= new SqlParameter("@file", SqlDbType.VarBinary); cmd.SqlParameter=par; SqlCommand cmd = new SqlCommand(); cmd.Connection = new SqlConnection(strCon); cmd.CommandType = SqlDataSourceCommandType.Text; cmd.CommandText = sql;// 数据库字段设置为 varbinary(MAX) }
从数据库取出和普通取数据一样放在dataset中,然后从dataset中取出(转换成byte数组)FILE_CONTENT_B=(byte[])ds.Tables[0].Rows[0]["FILE_CONTENT_B"];通过下面的语句直接打开
var filebyte = modSysFiles.FILE_CONTENT_B;//创建的文件路径string path = Server.MapPath("~/test/xx.docx"); //@"D:\test\data\" + "xxx.docx";//按照路径实例化文件var file = new FileStream(path, FileMode.Create, FileAccess.Write);//实例化一个用于写的 BinaryWritervar bw = new BinaryWriter(file);//var bwr = new BinaryReader//将传进来的二进制字符转换为8位无符号整数数组再写进去bw.Write(filebyte);bw.Close();//关闭二进制流写入器file.Close(); //关闭文件流//创建Process命令var cmd = new System.Diagnostics.Process();//创建要运行的文件或者程序var startfile = new System.Diagnostics.ProcessStartInfo{FileName = file.Name,//文件完全路径WindowStyle = ProcessWindowStyle.Normal,//Windows窗口样式UseShellExecute = true//为true,则用默认的打开方式打开,如果是exe等,设置为false};cmd.StartInfo = startfile;cmd.Start(); //打开文件
相关文章推荐
- PHP将二进制文件存入数据库以及从数据库中读取二进制文件
- ASP.Net将图片以二进制方式存入数据库,并读取
- oracle实现读取文件,将文件用clob类型存入数据库
- Asp.net把图片存入数据库和使用文件流来读取显示
- C#读取本地磁盘下指定路径下的所有图片,并以二进制存入数据库
- C#读取二进制文件入数据库
- ASP.Net将图片以二进制方式存入数据库,并读取
- VB ADO 用二进制方式来读写文件 入数据库 __________请参考(把文件(包括图片)存入数据库)
- jxl--jsp读取excel文件并将文件存入数据库
- PDF 以二进制存入数据库 上传,读取,下载
- 读取文本.EFZ文件数据,存入数据库
- 如何读取csv文件并存入数据库?
- Java中上传excel文件并在服务器端读取存入数据库
- asp.net从数据库里读取二进制文件
- asp.net关于文件在数据库的存入和读取
- asp.net中将图片或文件存入数据库并读取显示在image控件中
- 数据库中存入读取二进制问题
- 按行读取本地文件存入数据库
- 从数据库中读取二进制文件,并将图片打印到页面上
- 文件在数据库中的存入及读取