数据流创建文件

本文介绍如何将Excel文件转换为二进制流并存入数据库,以及从数据库中读取出二进制流后还原为Excel文件的过程。通过创建临时文件夹并使用FileStream的Create方法完成文件的重建。

以前一直是把文件转为数据流存入数据库保存,实例多是应用在图片存储上。

如今需要把Excel文件以二进制流存入数据库中,当用户需要做Excel数据分析时,得先把数据流创建为一个文件,然后再对这个文件进行处理。

上传文件以二进制存储数据库中,Insus.NET在这里就不做演示了,因为在Insus.NET的博客能找得到。

下面是演示二进制数据流创建文件。 

  // 创建一个临时文件夹
         string  tempPath  =   " ~/Temp/ " ;
       
// 判断是否存在
         if  ( ! Directory.Exists(Server.MapPath(tempPath)))
        {
           
// 如果不存在,创建它
            Directory.CreateDirectory(Server.MapPath(tempPath));
        }

        
// 判断数据库是否存此笔记录
         if  (objKqUploadFile.GetFileByPrimaryKey(pk).Rows.Count  >   0 )
        {            
            DataRow dataRow 
=  objxxx.GetFile(pk).Rows[ 0 ];
           
// 取得原来的文件名并和临时文件夹组成fullName。
             string  filePath  =  tempPath  +  dataRow[ " OldFileName " ].ToString();
            
// 数据流创建文件,使用file的Create的方法。
             using  (FileStream fileStream  =  File.Create(Server.MapPath(filePath)))
            {
               
// 取得数据库的二进制
                 byte [] buffer  =  ( byte [])dataRow[ " ExcelFile " ];
               
// 写文件。
                fileStream.Write(buffer,  0 , buffer.Length);
            }
        }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值