如何从数据库中读取并显示多张图片?

stning 2008-05-08 03:14:39

SqlDataReader reader = sqlcom.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
{
Response.BinaryWrite((byte[])reader["aaa"]);
}

这样子,在页面也就只能显示一张,无论你数据库里面是有几张图片。
ps:解决可加分。
...全文
323 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
stning 2008-05-08
  • 打赏
  • 举报
回复
5楼的,你这个是怎么做的?
loverdotnet 2008-05-08
  • 打赏
  • 举报
回复
mark
syc958 2008-05-08
  • 打赏
  • 举报
回复
while (reader.Read())
{
Response.BinaryWrite((byte[])reader["aaa"]);
}

你这样用当然是后面的把前面的给覆盖了!你应该
string picpath="";
while (reader.Read())
{
picpath+=((byte[])reader["aaa"]);
}
一品梅 2008-05-08
  • 打赏
  • 举报
回复
转载:
<img src="checkcode.aspx"/>



checkcode.aspx,aspx页面直接输出2进制流

HTML code<%@ Page Language="C#"%>
<%@ Import NameSpace=" System.Drawing"%>
<%@ Import NameSpace=" System.Drawing.Imaging"%>
<%@ Import NameSpace=" System.IO"%>
<script language="C#" runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
this.ValidateCode(RndNum(4));
}
private void ValidateCode(string VNum)
{
Bitmap Img=null;
Graphics g=null;
MemoryStream ms=null;

int gheight=VNum.Length*9-10;//定义图像的大小
Img=new Bitmap(gheight,18);//生成图像的实例
g=Graphics.FromImage(Img);//从Img对象生成新的Graphics对象
SolidBrush bcsb = new SolidBrush(Color.FromArgb(112,163,44));
g.FillRegion(bcsb,new Region(new Rectangle(0,0,gheight,20)));
Font f = new Font("黑体", 11);//生成Font类的实例
SolidBrush s=new SolidBrush(Color.White);//生成笔刷类的实例
g.DrawString(VNum,f,s,0,3);//将VNum写入图片中
ms=new MemoryStream();//生成内存流对象
Img.Save(ms,ImageFormat.Jpeg);//将此图像以JPG图像文件的格式保存到流中
Response.ClearContent();//更改http ContentType
Response.ContentType="image/Jpeg";//设置响应头
Response.BinaryWrite(ms.ToArray());//将整个二进制流的内容输出到客户端
//回收资源
g.Dispose();
Img.Dispose();
Response.End();

}
private string RndNum(int VcodeNum)
{
string Vchar="A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
string[] VcArray=Vchar.Split(new Char [] {','});//拆分成数组
string VNum="";
string SpaceVNum="";
Random rand=new Random();
for(int i=1;i<VcodeNum+1;i++)
{
int t=rand.Next(25);
VNum+=VcArray[t];
SpaceVNum+=" "+VcArray[t];
}
Response.Cookies.Add(new HttpCookie("checkcode", VNum));
SpaceVNum=SpaceVNum.Trim();
return SpaceVNum;
}
</script>
  • 打赏
  • 举报
回复
用一张页面专门用来显示图片,传进去ID到页面上
stning 2008-05-08
  • 打赏
  • 举报
回复
楼上的能给个代码看看吗?
一品梅 2008-05-08
  • 打赏
  • 举报
回复
要用到控件嵌套图片地址的写法。你那样的是绘好一个图,又被覆盖一次。
要动态生成一个生成图片页面。然后IMG的SOURCE调用该页面地址。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧