日期:2014-05-18  浏览次数:20546 次

以特定文件名输出二进制数据
问题如题,文件是以二进制存在数据库里的,我可以实现输出文件。但是该怎么让系统指定保存时的文件名呢?(我有文件名字段)


------解决方案--------------------

------解决方案--------------------
SqlDataReader dr=null;
 SqlConnection objCn=new SqlConnection();
 objCn.ConnectionString="Data Source=(local);User ID=sa;Password=;Initial Catalog=Test";
 SqlCommand cm=new SqlCommand();
 cm.Connection=cn;
 cm.CommandType=CommandType.Text;
 cm.CommandText="select "+fieldName+" from "+tableName+" where ID=1";
 dr=cm.ExecuteReader();
 byte[] File=null;
 if(dr.Read())
 {
File=(byte[])dr[0];
 }
 FileStream fs;
 FileInfo fi=new System.IO.FileInfo(fileName);
 fs=fi.OpenWrite();
 fs.Write(File,0,File.Length);
 fs.Close();

这种东西网上很多 找找一堆
文件存入数据库是 创建文件流->byte[]->数据库
数据库取出文件 数据库->byte[]->文件流->流保存