求数据库图片轮翻代码asp代码

asp.net mvc 从数据库中读取图片的实现代码
字体:[ ] 类型:转载 时间:
今天搞了一天的MVC,在显示图片的时候老是出现问题,从网上搜索了好久,才找到解决方法。
首先是创建一个类,继承于ActionResult,记住要引用System.Web.Mvc命名空间,如下:
代码如下: public class ImageResult : ActionResult { public ImageFormat ContentType { } public Image image { } public string SourceName { } public ImageResult(string _SourceName, ImageFormat _ContentType) { this.SourceName = _SourceN this.ContentType = _ContentT } public ImageResult(Image _ImageBytes, ImageFormat _ContentType) { this.ContentType = _ContentT this.image = _ImageB } public override void ExecuteResult(ControllerContext context) { context.HttpContext.Response.Clear(); context.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache); if (ContentType.Equals(ImageFormat.Bmp)) context.HttpContext.Response.ContentType = "image/bmp"; if (ContentType.Equals(ImageFormat.Gif)) context.HttpContext.Response.ContentType = "image/gif"; if (ContentType.Equals(ImageFormat.Icon)) context.HttpContext.Response.ContentType = "image/vnd.microsoft.icon"; if (ContentType.Equals(ImageFormat.Jpeg)) context.HttpContext.Response.ContentType = "image/jpeg"; if (ContentType.Equals(ImageFormat.Png)) context.HttpContext.Response.ContentType = "image/png"; if (ContentType.Equals(ImageFormat.Tiff)) context.HttpContext.Response.ContentType = "image/tiff"; if (ContentType.Equals(ImageFormat.Wmf)) context.HttpContext.Response.ContentType = "image/wmf"; if (image != null) { image.Save(context.HttpContext.Response.OutputStream, ContentType); } else { context.HttpContext.Response.TransmitFile(SourceName); } } }
然后在 Controller类中创建一个Action.如下:
代码如下: public ActionResult GetPicture(int id) { ICategory server = new CategoryServer(); byte[] buffer = server.getCategoryPicture(id); if (buffer != null) { MemoryStream stream = new MemoryStream(buffer); System.Drawing.Image image = System.Drawing.Image.FromStream(stream); ImageResult result = new ImageResult(image, System.Drawing.Imaging.ImageFormat.Jpeg);
} return View(); }
这样就可以显示图片了。 下面几种方法可以显示已经存在的图片 方法一:
代码如下: using System.IO; public FileResult Image() { string path = Server.MapPath("/Content/Images/Decorative/"); string filename = Request.Url.Segments[Request.Url.Segments.Length - 1].ToString(); // bine from System.IO instead of StringBuilder. string fullPath = bine(path, filename); return(new FileResult(fullPath, "image/jpeg")); }
代码如下: public ActionResult Image(string id) { var dir = Server.MapPath("/Images"); var path = bine(dir, id + ".jpg"); return base.File(path, "image/jpg"); }
代码如下: [AcceptVerbs(HttpVerbs.Get)] [OutputCache(CacheProfile = "CustomerImages")] public FileResult Show(int customerId, string imageName) { var path = string.Concat(ConfigData.ImagesDirectory, customerId, @"\", imageName); return new FileStreamResult(new FileStream(path, FileMode.Open), "image/jpeg"); }
这三种都可以显示已经存在的图片并且我认为第三种方法可以修改为从数据库中读取图片显示。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Asp.net把图片存入数据库和读取图片的方法
字体:[ ] 类型:转载 时间:
网上关于ASP.NET上传图片到数据库的资料非常多,常用的如下:存储图片类型数据有以下几种方式
网上关于ASP.NET上传图片到数据库的资料非常多,常用的如下:存储图片类型数据有以下几种方式:1.将图片转换为二进制数组(byte[]) 代码如下:byte[] fileData = this.FileUpload1.FileB 2. 根据路径将文件转换为2进制数组 代码如下:代码 public byte[] returnbyte(string strpath){&// 以二进制方式读文件&&& FileStream fsMyfile = new FileStream(strpath, FileMode.OpenOrCreate, FileAccess.ReadWrite);// 创建一个二进制数据流读入器,和打开的文件关联&&& BinaryReader brMyfile = new BinaryReader(fsMyfile);// 把文件指针重新定位到文件的开始&&& brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);&& byte[] bytes = brMyfile.ReadBytes(Convert.ToInt32(fsMyfile.Length.ToString()));// 关闭以上new的各个对象&&& brMyfile.Close();&&}3img 类型得到二进制数组 代码如下:public static byte[] Getbyte(Image img){&&& MemoryStream stream = new MemoryStream();&&& img.Save(stream, ImageFormat.Jpeg);&&& byte[] mydata = new byte[stream.Length];&&& mydata = stream.ToArray();&&& stream.Close();&&&&}读取image类型的数据并显示在网页上的方式如下:1。直接返回image 类型 代码如下:private System.Drawing.Image getImageDataFromOracle() { string sql = "select IMGDATA from t_img where imgID=100"; string strconn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringForOracle"].ToString(); OracleConnection oraConn = new OracleConnection(strconn); OracleCommand oraComm = new OracleCommand(sql, oraConn); oraConn.Open(); byte[] fileData = (byte[])oraComm.ExecuteScalar(); oraConn.Close(); System.IO.MemoryStream ms = new System.IO.MemoryStream(fileData); System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
} 2.利用页面输入来显示图片页面ImageShow.aspx (Page_Load方法) 代码如下:&protected void Page_Load(object sender, EventArgs e){  byte[] b_logoImg = (byte[])dt_channelImg.Rows[0]["LogoImage"]; //得到byte[] 数组,这里只是举个例子&  if (b_logoImg.Length & 0)   {    System.Drawing.Image logoI    MemoryStream ms = new MemoryStream(b_logoImg);    Response.Clear();    Response.ContentType = "image/gif";    Response.OutputStream.Write(b_logoImg, 0, b_logoImg.Length);    Response.End();  }}图片路径写成为:&img src = "ImageShow.aspx" /&
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具js和asp 显示数据库中图片_ASP教程_编程技术
您的位置: &
& js和asp 显示数据库中图片
js|数据|数据库|显示
&table width=&100%& border=&0& align=&center& cellspacing=&0& cellpadding=&0& style=&TABLE-LAYOUT: fixed&&&%sql=&select top 4 * from Ad where checked=true &rs.Open sql,conn,1,1if not rs.eof thenn=0while not rs.EOFn=n+1%&&%=rs(&AdSitePic&)%&&%rs.MoveNextwend%&&td width=&100%& height=&220&&&script language=&JavaScript1.2&&var slideshow_width='200px' //SET SLIDESHOW WIDTH (set to largest image's width if multiple dimensions exist)var slideshow_height='200px' //SET SLIDESHOW HEIGHT (set to largest image's height if multiple dimensions exist)var pause=3000 //SET PAUSE BETWEEN SLIDE (2000=2 seconds)var slidebgcolor=&white&var dropimages=new Array()dropimages[0]=&&img src=&&%=rs(&AdSitePic&)%&& width=&128& height=&128&&&dropimages[1]=&&img src=&&%=rs(&AdSitePic&)%&& width=&128& height=&128&&&dropimages[2]=&&img src=&&%=rs(&AdSitePic&)%&& width=&128& height=&128&&&var droplinks=new Array()droplinks[0]=droplinks[1]=droplinks[2]=var preloadedimages=new Array()for (p=0;p&dropimages.p++){preloadedimages[p]=new Image()preloadedimages[p].src=dropimages[p]}var ie4=document.allvar dom=document.getElementByIdif (ie4||dom)document.write('&div style=&position:width:'+slideshow_width+';height:'+slideshow_height+';overflow:hidden&&&div id=&canvas0& style=&position:width:'+slideshow_width+';height:'+slideshow_height+';background-color:'+slidebgcolor+';left:-'+slideshow_width+'&&&/div&&div id=&canvas1& style=&position:width:'+slideshow_width+';height:'+slideshow_height+';background-color:'+slidebgcolor+';left:-'+slideshow_width+'&&&/div&&/div&')elsedocument.write('&a href=&javascript:rotatelink()&&&img name=&defaultslide& src=&'+dropimages[0]+'& border=0&&/a&')var curpos=parseInt(slideshow_width)*(-1)var degree=10var curcanvas=&canvas0&var curimageindex=linkindex=0var nextimageindex=1function movepic(){if (curpos&0){curpos=Math.min(curpos+degree,0)tempobj.style.left=curpos+&px&}else{clearInterval(dropslide)nextcanvas=(curcanvas==&canvas0&)? &canvas0& : &canvas1&tempobj=ie4? eval(&document.all.&+nextcanvas) : document.getElementById(nextcanvas)var slideimage='&img src=&'+dropimages[curimageindex]+'& border=0&'tempobj.innerHTML=(droplinks[curimageindex]!=&&)? '&a href=&'+droplinks[curimageindex]+'&&'+slideimage+'&/a&' : slideimagenextimageindex=(nextimageindex&dropimages.length-1)? nextimageindex+1 : 0setTimeout(&rotateimage()&,pause)}}function rotateimage(){if (ie4||dom){resetit(curcanvas)var crossobj=tempobj=ie4? eval(&document.all.&+curcanvas) : document.getElementById(curcanvas)crossobj.style.zIndex++var temp='setInterval(&movepic()&,50)'dropslide=eval(temp)curcanvas=(curcanvas==&canvas0&)? &canvas1& : &canvas0&}elsedocument.images.defaultslide.src=dropimages[curimageindex]linkindex=curimageindexcurimageindex=(curimageindex&dropimages.length-1)? curimageindex+1 : 0}function rotatelink(){if (droplinks[linkindex]!=&&)window.location=droplinks[linkindex]}function resetit(what){curpos=parseInt(slideshow_width)*(-1)var crossobj=ie4? eval(&document.all.&+what) : document.getElementById(what)crossobj.style.left=curpos+&px&}function startit(){var crossobj=ie4? eval(&document.all.&+curcanvas) : document.getElementById(curcanvas)crossobj.innerHTML='&a href=&'+droplinks[curimageindex]+'&&&img src=&'+dropimages[curimageindex]+'& border=0&&/a&'rotateimage()}if (ie4||dom)window.onload=startitelse
( 02:12:27)
( 14:16:26)
( 23:48:41)
( 23:37:30)
( 09:59:00)
( 12:21:14)
( 01:39:42)
( 11:00:35)
相关排行总榜1266人阅读
网站设计(html/css/xml/asp.net)(10)
最近我在做ASP网站的过程中需要实现在某个固定的地方轮流显示图片,并且图片切换时有切换效果。上网搜索发现有很多都是介绍用swf实现的,实现起来比较繁琐且需要掌握一定的flash编程,对于一些人来说不太方便。经过两天的摸索结合网上搜集的资料实现了上述功能,现与大家分享一下。以下是实现代码:&dimstrsqldimrsd'数据库记录对象dimstr1dimstr2dimnImgNumb:nImgNumb=0strsql=&selecttop4连接名,照片内容from图片资料where新闻=1and(上传时间between'&&CStr(date-120)&&'and'&&CStr(date)&&')orderby上传时间desc&setrsd=server.createobject(&adodb.recordset&)rsd.openstrsql,Conn,1ifnot(rsd.bofandrsd.eof)thenwhilenotrsd.eofstr1=str1&&http://10.168.234.99:81/ziliao/zhaopian/&&rsd(&连接名&)&&?&str2=str2&rsd(&照片内容&)&&?&rsd.movenextwendiflen(str1)&0thenstr1=left(str1,len(str1)-1)str2=left(str2,len(str2)-1)endifnImgNumb=rsd.recordcountendifrsd.closesetrsd=nothing&varstrT=&&=str1&&;varSrcs=strT.split(&?&);varlinks=SstrT=&&=str2&&;vartitles=strT.split(&?&);varnImgNum=&=nImgNumb&;//得到图像的数量varnWidth=200;//图像的宽度varnHeight=160;//图像的高度varnInterval=5000;//间隔时间,以毫秒为单位varnImgIndex=-1;//初始值为-1的原因:在实现图片轮流显示的时候我是先自增再使用,相信你看完我的代码就会明白的。functionSetSpanbgColor(nIndex){for(i=0;i&nIi)document.getElementByIdx_x(&span&i).style.backgroundColor=&#CC00CC&;document.getElementByIdx_x(&span&nIndex).style.backgroundColor=&#00FFFF&;for(i=nIndex1;i&nImgNi)document.getElementByIdx_x(&span&i).style.backgroundColor=&#CC00CC&;}functionShowImgRator(){nImgInImgIndex=nImgIndex&nImgNum?nImgIndex:0;varstrHtml=&&;strHtml=&&strHtml&&;vartransition=parseInt(Math.random()*23);with(document.getElementByIdx_x(&ImgTank&)){filters[0].Transition=filters[0].apply();innerHTML=strHfilters[0].play();}document.getElementByIdx_x(&ImgContent&).innerHTML=titles[nImgIndex];SetSpanbgColor(nImgIndex);}functionPageLoad(){if(nImgNum==0){document.getElementByIdx_x(&ImgTank&).style.height=&20px&;document.getElementByIdx_x(&ImgTank&).innerHTML=&无最新图片&;}for(i=0;i&nImgNi){document.getElementByIdx_x(&span&i).style.cursor=&hand&;}SetSpanbgColor(0);document.getElementByIdx_x(&ImgTank&).filters[0].Duration=2;ShowImgRator();setInterval(ShowImgRator,nInterval);}functionspan_onClick(nIndex){nImgIndex=nIndex-1;ShowImgRator();}0then&?
&=i1& ?&dimrsNewssetrsNews=server.CreateObject(&ADODB.Recordset&)rsNews.open&NewsReportorderby编号desc&,conn,1fori=1to5ifnotrsNews.eofthen&&=StringCutup(rsNews(&标题&),11)&&=&(&&month(rsNews(&发表日期&))&&月&&day(rsNews(&发表日期&))&&日)&&&rsNews.movenextendifnextrsNews.closesetrsNews=nothing&更多...实现的环境:服务器为Win2000Server,客户端为IE6.0浏览器。该代码可以实现从数据库中得到机几张图片的路径并轮流显示。在显示的时候使用了style中的滤镜效果达到图片切换时的各种切换效果,而且使用了随机函数来让每次切换时的效果都是随机的。欢迎大家对我的代码进行评价,有哪些不足的地方也请指正出来,更欢迎贴出更好的代码来以便大家研究。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:581386次
积分:7060
积分:7060
排名:第2525名
原创:68篇
转载:295篇
评论:70条
(11)(28)(38)(23)(34)(10)(3)(4)(9)(4)(1)(11)(4)(19)(17)(26)(1)(2)(35)(41)(3)(9)(15)(10)(4)(2)& & 首先在SQL Server中建立一个图片存储的数库表,ImageData Column为图象二进制数据储存字段,ImageContentType Column为图象文件类型记录字段,ImageDescription Column为储蓄图& & 象文件说明字段,ImageSize Column为储存图象文件长度字……
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
论文写作技巧
上一篇:下一篇:
相关经验教程}

我要回帖

更多关于 图片轮翻代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信