当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 保存图片流到数据库之后固定显示新法

ASP.NET
8月编程语言榜:.Net前景如何?
.NET调PHP Web Service的典型例子
ASP.NET热点问题解答14个
ADO.NET实用技巧两则
ASP遗留的二十大积习
从零开始学ASP.NET-基础篇
asp.net WebForm页面间传值方法
一个经典的ADO.NET入门例子
ASP.net中md5加密码的方法
C#Web应用程序入门经典学习笔记之二
程序中常用的种代码
页面包含的处理
几个C#常用正则表达式的总结
c#对xml的简单操作
获取当前url
检测含有中文字符串的实际长度
ASP.NET 数据访问类
利用Ajax传递Xml文档
给.net初学者的一些建议(共勉之)
asp.net网络数据库开发实例精解 源文件

ASP.NET 中的 保存图片流到数据库之后固定显示新法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-23   浏览: 126 ::
收藏到网摘: n/a

在sqlserver中的图片类型是image,然后,通过dataset保存到数据库中,通过showimg.aspx文件来读出图片,即显示图片,代码如下:


DimimageAsByte()=IssueQuestionRow.QuestionImage
'/转换为支持存储区为内存的流
DimmemStreamAsNewSystem.IO.MemoryStream(image)
'/定义并实例化Bitmap对象
DimbmAsNewBitmap(memStream)
'/根据不同的条件进行输出或者下载;
Response.Clear()
'/如果请求字符串指定下载,就下载该文件;
'/否则,就显示在浏览器中。
IfRequest.QueryString("Download")="1"Then
Response.Buffer=True
Response.ContentType="application/octet-stream"
'/这里下载输出的文件名字ok.jpg为例子,你实际中可以根据情况动态决定。
Response.AddHeader("Content-Disposition","attachment;filename=ok.jpg")
Else

Response.ContentType="image/jpg"
EndIf
Response.BinaryWrite(image)

Response.End()


然后通过需要调用显示图片的页面,加入


<img src=”./showimg.aspx”wigth=”100px”height=”50”>

来固定图片的显示位置、大小等。当然也可以通过一个页面的不同参数来获得不同的图片,如下代码:


Showimg.aspx文件:
PublicQuestionIDAsString
PublicChapterIDAsString
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
'在此处放置初始化页的用户代码
IfNotIsPostBackThen
QuestionID=Request.QueryString("QID")
ChapterID=Request.QueryString("ChapterID")
Exercise=EXH.GetExercise(ChapterID)
DimdvAsNewDataView(Exercise.Ex_IssueQuestion)
dv.RowFilter="QuestionID='"+QuestionID+"'"
Ifdv.Count>0Then
IssueQuestionRow=dv.Item(0).Row
DimimageAsByte()=IssueQuestionRow.QuestionImage
'/转换为支持存储区为内存的流
DimmemStreamAsNewSystem.IO.MemoryStream(image)
'/定义并实例化Bitmap对象
DimbmAsNewBitmap(memStream)
'/根据不同的条件进行输出或者下载;

Response.BinaryWrite(image)
EndIf
EndIf
EndSub

在其他需要调用的地方的aspx页面里只需写:


<img src=”./showimg.aspx?QuestionID=222&ChapterID=3”wigth=”100px”height=”50”>