永发信息网

asp.net中如何保存图片对象

答案:3  悬赏:0  手机版
解决时间 2021-02-02 14:11
我要的是保存图片本身,不是通过保存它的地址来保存或取出图片
最佳答案
将图片保存到数据库中:
【步骤1】以二进制方式读取图像文件
//利用FileStream读取制定路径的文件
FileStream fs = new FileStream(this.txtImagePath.Text, FileMode.Open);
int iLength = int.Parse(fs.Length.ToString());//获取当前文件的长度
Byte[] fileByte = new Byte[iLength];//创建一个byte[]的数组,用来保存文件的内容
fs.Read(fileByte, 0, iLength);//通过Read方法,把文件的内容读取到byte[]数组中。
fs.Dispose();
【步骤2】将信息插入到数据库中
SqlConnection conn = new SqlConnection(@"server=.\SQLEXPRESS;database=ImageDataBase;uid=sa");
//插入数据库
string strSql = "Insert Into tbl_Image (ImageFile) Values(@img)";
SqlCommand cmd = new SqlCommand(strSql, conn);
cmd.Parameters.Add("@img", SqlDbType.Image, iLength).Value = fileByte;
//通过赋值保存的图片的参数的值,为SqlDbType.Binary
conn.Open(); //打开连接
cmd.ExecuteNonQuery(); //执行命令
conn.Close();

将图片从数据库中读取显示:
【步骤1】从数据库中读取Image字段信息
Byte[] fileContent;
using (SqlConnection conn = new SqlConnection(@"server=.\SQLEXPRESS;database=ImageDataBase;uid=sa;pwd=12345")){
string strSql = "select ImageFile from tbl_Image";
SqlCommand cmd = new SqlCommand(strSql, conn);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
//以上步骤完成一般的SqlCommand的命令的执行,
//返回了一个SqlDataReader把图片的内容赋值到一个byte[]数组上。
if (dr.Read()) {
fileContent = (Byte[])dr["ImageFile"];
}else {
fileContent = new Byte[0];
}
dr.Close();
}
【步骤2】将二进制信息显示在PictureBox控件中
//通过内存流MemoryStream,
//把byte[]数组fileContent加载到Image中并赋值给图片框的Image属性,
//让数据库中的图片直接显示在窗体上。
MemoryStream ms = new MemoryStream(fileContent, 0, fileContent.Length);
this.pbShowImage.Image = Image.FromStream(ms);
//关闭内存流
ms.Close();
全部回答
<form id="form1"method="post"runat="server"> <Asp:Hyperlink id="Hyperlink1" Runat="server" ImageUrl="图片存储的位置" NavigateUrl="你要连接的位置" /> </form> private void page_load(object sender ,System.EventArgs e) { 添加你要保留的 并用语句表示 就OK }
比如登录界面的上写的,textbox1为用户名,textbox2为密码,要保存,则在验证成功之后跳转主页面前写session保存,session["userid"] = textbox1.text.tostring(); session["userpwd"] = textbox1.text.tostring();或查询数据库之后把查到的值附上啦, session["userid"] = dr["userid"].tostring(); session["userpwd"] = dr["userpwd"].tostring(); 部分代码: if (dr.read())//如果数据库读到了这个用户和密码,则保存session { //session保存登录成功的用户信息并转到主页 session["userid"] = dr["userid"].tostring(); session["userpwd"] = dr["userpwd"].tostring(); response.redirect("index.aspx"); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
辽河公安局交通警察支队二大队茨榆坨交警队地
法库县公安局交警大队和平中队地址好找么,我
嗯西递宏村有关的历史故事
青梅竹马最后在一起的多吗
沈阳市公安局交警支队沈北新区交警大队车管分
想在线观看《通天干探》(粤语)但都找不到,
沈阳市公安局交警支队大东区大队地址在什么地
有哪首英文歌最后一个单词是remember 是女歌
沈阳市于洪区公安局交警支队地址在什么地方,
bjd ai家六分娃像uri,hani之类最近有没有团
成都二环内限号吗
鞍山市立山区交警支队沙河中队怎么去啊,我要
鞍山市公安局交警支队地址有知道的么?有点事
联通4G卡能不能异地补办
丹东市振安区交通警察支队高速公路大队地址在
推荐资讯
请用几个成语或俗语来概括一下建国50年庆典的
WOW盗贼练什么副职业好
下列关于J曲线的说法中,错误的是()。A.这条
cisco 8921电话怎么录音
上海南站到黄坡南路地铁几站路
求寻me独偶和御华万里专辑,谢谢!
一般情况下,工程项目绩效报告的内容不包括()
在生命科学研究中,“放射性同位素示踪法”是
鹤岗到伊春金山屯五花山多少公里
《家的n次方》刚刚看完 感觉结局意味深长的
刀剑英雄2 如何兑换亮金装备
四川省德阳市旌阳区孝泉中学地址有知道的么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?