asp.net中将图片或文件存入数据库并读取显示在image控件中
来源:互联网 发布:淘宝怎么设置打折促销 编辑:程序博客网 时间:2024/04/30 09:28
最近在做一个项目时,发现数据库的设计是把图片的存放字段设置成了image类型。这就说明你只能把文件存入到数据库中,这个做法不是我常用的,只存图片路径的方法。所以就上网去查了一下。大体做法都一样。但是有一点不好的就是,你在上传图片的时候,无法对图片进行预览。根据这一点我自己做了一些改动。下面把代码放上来,大家看一下。
这个是将图片文件转化为二进制流,this.image1.ImgeUrl = this.File1.PageedFile.FileName就可以把图片显示出来,这里有一个问题是,你不能单独做一个按钮来让image控件显示图下,否则你存入数据库的就为空了.
存入的时候大家采用一般的
这时是把相应的信息存入。其实最难的就是在修改信息时,你如何让图片显示在image控中。这里我采用的是另写一个页面this.image1.imageURl = "aa.aspx?id="+这里是你的信息的ID号+"".这样我们只要让图片在aa.aspx里显示出来就可以了。代码如下
好了,这样在修改的时候,你的图片就可以显示出来了。
说实话,我不喜欢这种存图片的方法。一是数据库会变大。二是很不方便。虽然它可以让一些木马程序无法运行。可是asp.net中给提供的PostedFile.ContentType就很好用啊。呵呵。。。。。。。。
可能是我的技术有限。无法理解其中的奥秘吧。
这个是将图片文件转化为二进制流,this.image1.ImgeUrl = this.File1.PageedFile.FileName就可以把图片显示出来,这里有一个问题是,你不能单独做一个按钮来让image控件显示图下,否则你存入数据库的就为空了.
if(this.File1.PostedFile.ContentLength!=0)
{
if(this.File1.PostedFile.ContentType=="image/bmp" || this.File1.PostedFile.ContentType=="image/pjpeg" || this.File1.PostedFile.ContentType=="image/gif" ||this.File1.PostedFile.ContentType=="application/octet-stream")
{
this.Image1.ImageUrl = this.File1.PostedFile.FileName;
Byte{} fileByteArray = new Byte[this.File1.PostedFile.ContentLength];
Stream streamObject = this.File1.PostedFile.InputStream;
streamObject.Read(fileByteArray,0,this.File1.PostedFile.ContentLength);
}
else
{
Response.Write("<script>alert('对不起,你输入的图片格式不对!');</script>");
}
}
{
if(this.File1.PostedFile.ContentType=="image/bmp" || this.File1.PostedFile.ContentType=="image/pjpeg" || this.File1.PostedFile.ContentType=="image/gif" ||this.File1.PostedFile.ContentType=="application/octet-stream")
{
this.Image1.ImageUrl = this.File1.PostedFile.FileName;
Byte{} fileByteArray = new Byte[this.File1.PostedFile.ContentLength];
Stream streamObject = this.File1.PostedFile.InputStream;
streamObject.Read(fileByteArray,0,this.File1.PostedFile.ContentLength);
}
else
{
Response.Write("<script>alert('对不起,你输入的图片格式不对!');</script>");
}
}
string sql="insert into download(fileName,ffileData) values('"+fileName+"','"+fileData+"')";
SqlCommand cmd=new SqlCommand(sql,con);//启用存储过程
cmd.CommandType=CommandType.StoredProcedure;//指定类型
cmd.Parameters.Add("@fileName",SqlDbType.VarChar,200);
cmd.Parameters["@fileName"].Value=fileName;
cmd.Parameters.Add("@fileData",SqlDbType.Image);
cmd.Parameters["@fileData"].Value=fileByteArray;
cmd.ExecuteNonQuery();
SqlCommand cmd=new SqlCommand(sql,con);//启用存储过程
cmd.CommandType=CommandType.StoredProcedure;//指定类型
cmd.Parameters.Add("@fileName",SqlDbType.VarChar,200);
cmd.Parameters["@fileName"].Value=fileName;
cmd.Parameters.Add("@fileData",SqlDbType.Image);
cmd.Parameters["@fileData"].Value=fileByteArray;
cmd.ExecuteNonQuery();
这时是把相应的信息存入。其实最难的就是在修改信息时,你如何让图片显示在image控中。这里我采用的是另写一个页面this.image1.imageURl = "aa.aspx?id="+这里是你的信息的ID号+"".这样我们只要让图片在aa.aspx里显示出来就可以了。代码如下
string strsql = "select * from EnterPrise where FEPId = "+Convert.ToInt32(Request.QueryString["id"])+"";
SqlDataReader dr = cfdb.returnReader(strsql);//这里我调用的是我的方法,你可以使用你的
if(dr.Read())
{
byte[] file=(Byte[])dr["FFicImage"]; //把图片信息取出来
Response.BinaryWrite(file); //让他显示出来
}
dr.Close();
SqlDataReader dr = cfdb.returnReader(strsql);//这里我调用的是我的方法,你可以使用你的
if(dr.Read())
{
byte[] file=(Byte[])dr["FFicImage"]; //把图片信息取出来
Response.BinaryWrite(file); //让他显示出来
}
dr.Close();
说实话,我不喜欢这种存图片的方法。一是数据库会变大。二是很不方便。虽然它可以让一些木马程序无法运行。可是asp.net中给提供的PostedFile.ContentType就很好用啊。呵呵。。。。。。。。
可能是我的技术有限。无法理解其中的奥秘吧。
- asp.net中将图片或文件存入数据库并读取显示在image控件中
- Net webform(asp.net)中将图片存入sqlserver中并读取显示
- .Net Winform和.Net webform(asp.net)中将图片存入sqlserver中并读取显示的方法
- .Net Winform和.Net webform(asp.net)中将图片存入sqlserver中并读取显示的方法
- 在ASP.NET中将Excel文件中数据导入数据库并显示进度条
- 把图片文件存入oracle数据库 然后读取并显示在jsp页面
- asp.net关于文件在数据库的存入和读取
- asp.net关于文件在数据库的存入和读取
- 如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 如何在ASP.Net 中把图片存入数据库
- 李开复:21世纪7种人才最抢手
- 妻子 情人 红颜知己
- shell学习之-文件名的匹配
- 四方:曾经魂牵梦萦的地方
- 不得慕虚名而处实祸
- asp.net中将图片或文件存入数据库并读取显示在image控件中
- 世界上最经典的25句话
- ASP.NET实现投票结果的图片进度条显示代码
- 对url变量编码
- 双数组trie树的实现(转)
- 袁红岗的程序员修炼之道
- 知识积累(六)——Acegi (version1.0.4)中文参考手册——第三章 协助系统
- 把对后台的操作记录保存到文本文件的类
- JSF点滴积累-- JSF的地址栏的路径与当前的真实路径不一致?