62,072
社区成员
发帖
与我相关
我的任务
分享
////把文件以二进制的形势存到数据库里面去
MemoryStream ms = new MemoryStream();
string filepath = @"F:\曾方勇\呵呵.mp3";
FileStream fs = new FileStream(filepath, FileMode.Open);
Byte [] mediaByte=new Byte[fs.Length];
fs.Read(mediaByte,0,Convert.ToInt32(fs.Length.ToString()));
fs.Close();
OracleConnection con = new OracleConnection("Data Source=Orcl;User ID=zj;password=zj;");
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = "P_insert_myMedia";
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter a= cmd.Parameters.Add(new OracleParameter("media_id", OracleType.Number));
OracleParameter b= cmd.Parameters.Add(new OracleParameter("mediaFile", OracleType.Blob));
a.Value = 10000;
if (mediaByte.Length==0)
{
b.Value = System.DBNull.Value;
}
else
{
b.Value = mediaByte;
}
con.Open();
cmd.ExecuteNonQuery();
con.Close();
////从数据库里面读出来二进制数据,再生成文件
OracleConnection con = new OracleConnection("Data Source=Orcl;User ID=zj;password=zj;");
OracleDataAdapter oda = new OracleDataAdapter("select * from multi_media", con);
DataTable dt = new DataTable();
oda.Fill(dt);
Byte [] media =(Byte [])dt.Rows[1]["multi_media"];
Random r = new Random();
string fileName = r.Next(1, 100).ToString();
string fullPath = @"F:\"+fileName+".mp3";
//System.IO.File.WriteAllBytes(fullPath, media);
FileStream fs = new FileStream(fullPath, FileMode.Create);
//BinaryWriter writer = new BinaryWriter(fs);
//writer.Write(media);
//writer.Close();
fs.Write(media,0,media.Length);
fs.Close();
System.IO.File.WriteAllBytes(@"F:\曾方勇\oo.txt",dt.Rows[0][1] as byte[]);
byte[] media = Encoding.Default.GetBytes( dt.Rows[0][1].ToString());
string fullPath = @"F:\曾方勇\oo.txt";
FileStream fs = new FileStream(fullPath, FileMode.Create,FileAccess.Write);
fs.Write(media,0,media.Length);
fs.Close();
byte [] media = Encoding.Default.GetBytes( dt.Rows[0][1].ToString());
MemoryStream ms = new MemoryStream(media);
string fullPath = @"F:\曾方勇\oo.txt";
FileStream fs = new FileStream(fullPath, FileMode.Create,FileAccess.Write);
ms.WriteTo(fs);
ms.Close();
fs.Close();