0
我已经在c#中创建了一个简单的项目,以使用BLOB数据类型将文件数据保存到Oracle数据库中,并且它工作正常。我用devexpress gridcontrol显示数据。这是我创建的示例数据。使用c#从BLOB Oracle下载文件#
在btnDownload将下载从我选定的行BLOB Oracle数据。这里是我的代码:
var rowHandle = gridView1.FocusedRowHandle;
var obj = gridView1.GetRowCellValue(rowHandle, "FILENAME");
if(koneksidb.con.State == ConnectionState.Open)
{
koneksidb.con.Close();
}
koneksidb.con.Open();
OracleCommand cmd = new OracleCommand();
OracleDataReader dr;
cmd.CommandText = @"SELECT * FROM LATIHANFILEMANAGER WHERE FILENAME='"+ obj +"'";
cmd.Connection = koneksidb.con;
dr = cmd.ExecuteReader();
while(dr.Read())
{
UInt32 FileSize = Convert.ToUInt32(dr.GetInt32(dr.GetOrdinal("FILESIZE"))); //get file size from table LATIHANFILEMANAGER
rawData = new byte[FileSize];
var nilai = dr.GetBytes(dr.GetOrdinal("FILEDATA"), 0, rawData, 0, (int)FileSize); //this file that i wanna download
FileStream fls = new FileStream(@"D:\newfile.png", FileMode.OpenOrCreate, FileAccess.Write);
fls.Write(rawData, 0, (int)FileSize);
fls.Close();
}
dr.Close();
当我运行该项目,并下载图像,我得到了一个文件,文件大小,但它不能打开。
这里是我拍摄的文件:
本教程中我从这个链接了: https://docs.oracle.com/cd/E17952_01/connector-net-en/connector-net-programming-blob-reading.html
任何建议?
如果文件不是图像?像.pdf,.mp4等几个多格式文件..它不能在picturebox中显示..? – aminvincent