问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#中从数据库下载文件

发布网友 发布时间:2022-05-07 03:44

我来回答

2个回答

热心网友 时间:2023-06-29 12:21

首先要把数据库里面对应的那个字段读出来 然后进行处理
下面的例子是我从数据库读取图片的
OracleConnection conn = new OracleConnection(connstring);
conn.Open();
label1.Text = "开始时间:" + DateTime.Now;
string begin = "数据库连接正常,开始时间" + DateTime.Now;
SetInfo("", begin);
string SQL = "select ID from bs_buylicense_attach t where t.file_size>204800 order by t.file_size asc"; //rownum<100 and
string ConnString = SQL;
OracleDataAdapter sda = new OracleDataAdapter(ConnString, conn);
DataTable table = new DataTable();
sda.Fill(table);
List<object> lst = ModelConvertHelper.DtCovertIList(table);
foreach (object o in lst)
{
string path = "C:\\1.png"; ;
string lst_ID = o.ToString(); //查询返回来对应的数据的ID
string filter = "select * from bs_buylicense_attach where ID='" + lst_ID + "'";
OracleCommand cmd = new OracleCommand(filter, conn);
OracleDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
if (reader["DATA"] != DBNull.Value)
{
string ID = "数据ID对应值ID " + reader["ID"].ToString();
string length = "原文件大小" + reader["FILE_SIZE"].ToString();
SetInfo(ID, length);
System.IO.MemoryStream stream = new System.IO.MemoryStream((byte[])reader["DATA"]);//把照片读到MemoryStream里
Image ImageBlob = Image.FromStream(stream, true); //从数据库中读到的图片
int height = ImageBlob.Height; //原来图片的高度
int width = ImageBlob.Width;//原来图片的宽度
//开始进行图片的压缩
GetPicThumbnail1(ImageBlob, path, height, width, 60);
Image SaveImage = im; //得到返回来压缩之后的图片
byte[] buffer = imageToByteArray(SaveImage);
string UpdateSql = "update bs_buylicense_attach set DATA =:image where ID='" + lst_ID + "'";
OracleCommand cd = new OracleCommand();
cd = new OracleCommand(UpdateSql, conn);
cd.CommandText = UpdateSql;
cd.Parameters.Add("image", System.Data.OracleClient.OracleType.Blob, buffer.Length).Value = buffer;
cd.ExecuteNonQuery();
FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read);
string YAsuo = Convert.ToString(file.Length);
SetInfo("压缩为:", YAsuo);
stream.Close();
stream.Dispose();
file.Dispose();
file.Close();
File.Delete(@path);
}
}
}
conn.Close();
string end = "所有数据执行完毕关闭数据库链接!" + DateTime.Now;
SetInfo("", end);
SaveLog();
label2.Text = "结束时间:" + DateTime.Now;
}

热心网友 时间:2023-06-29 12:21

数据库文件是保存为二进制格式的,从数据库中查询得到数据后,写成对应格式的文件就可以了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何在win10下安装docker? windows(win10)上的docker使用:安装(国内镜像)、操作 win10安装dockerWin10下Docker安装和使用 关于安装配置docker,找不到Hyper-V(win10 家庭版需要配置,专业版不需要... 怎么把微信上的聊天记录转到新手机 怎么把聊天记录转到另一个手机 快递被别人冒领,快递公司有没有责任 洋葱汤洋葱汤 一颗洋葱汤怎么做 一颗洋葱汤怎么做好吃 如何使BeagleBone SD卡启动时不再分区 将PB中的枚举型转化数值型 手机里的thumbnail可以删除吗 红米手机H:&#92;MIUI&#92;Gallery&#92;cloud下面会保存很多照片,删不掉,怎么办? 魅族的魅蓝3S里的这几个几G文件能不能删除,太占内存了 证件号码是什么?我的QQ号可能被盗号,所以要填 qq密码设身份证号码安全吗 qq实名注册身份证号码是不是保密? 朋友借用别人的银行账号身份证号码和qq号码说要注册什么 身份证号码怎么改安全码 注册账号哪里填身份证号码 还有安全码啊 当时填写信息是就填写了身份证号,现在怎么设置安全码? 我已经用身份证,银行卡,还有什么电子邮箱?电子邮箱和安全码是什么鬼? QQ安全中心填写的身份证号码和实名注册时填写的身份证号码区别在哪里。 身份证安全码是多少? 浙江省比较有名的房地产开发商有哪些?都有哪些做的比较成功的楼盘? 杭州学区房排名新楼盘 滨江花园怎么样?好不好?值不值得买? 寻求一个大气、高雅、楼盘名字 杭州龙湖葛洲坝·景粼天著周边环境怎么样?生活便利吗? asp 处理上传的图片 微信朋友圈数据库SnsMicroMsg.db里的SnsInfo表里content字段里的图片地址解析出来后无法访问 c#中 getpicthumbnail的flag参数值怎么给 请问这个MySql问题要怎么修改啊,总提示max = 255 数据库重复数据合并 美服魔兽CDK及月卡问题 怎么看待魔兽世界月卡制? 关于wow美服充月卡的问题~ 美服魔兽世界单月卡计费方式?按时间计费吗?如果是单月卡多少分钟? 美服魔兽世界可以暂提月卡服务么? 美服有月卡吗 去美服玩WOW,到哪儿下客户端?怎么买月卡? 美服魔兽世界如果在网上下个客户端在买个月卡就可以玩了吗 美服魔兽世界如果在网上下个客户端在买个月卡就可以玩了吗 wifi password怎么用 iphone怎么看链接的wifi的密码 金农卡是什么银行的?? asp记录集如何将重复的数据合并 农金是什么意思? 金农卡属于农业银行还是农商银行