数据流创建文件

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

如今需要把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);
            }
        }

 

 

posted @ 2011-04-11 17:40  Insus.NET  阅读(2931)  评论(1编辑  收藏  举报