asp.net 读取显示二进制图片,JS循环
ashx文件:MemoryStreamstream=newMemoryStream();intid=int.Parse(context.Request.QueryStri...
ashx文件:
MemoryStream stream = new MemoryStream();
int id = int.Parse(context.Request.QueryString["id"]);
SqlConnection connection = new SqlConnection("省略");
try
{
connection.Open();
SqlCommand command = new SqlCommand("select [WishImage] from Wish where WishID='" + id + "' and IsApproved=True", connection);
command.Parameters.Add(new SqlParameter("@id", id));
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
byte[] image = (byte[])reader["WishImage"];
stream.Write(image, 0, image.Length);
Bitmap bitmap = new Bitmap(stream);
context.Response.ContentType = "image/jpeg";
bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
finally
{
connection.Close();
stream.Close();
}
aspx显示文件:
<script language="javascript" type="text/javascript">
var i = 1;
function fun() {
i++;
document.getElementById("img1").src = "display.ashx?id=" + i;
if (i == 7)
{ i = 0; }
}
setInterval("fun()", 1000);
</script>
<asp:Image ID="img1" runat="server" src="display.ashx?id=1">
我现在可以逐个显示从数据库提取出来的二进制图片,但是我提前知道了有7张图片在数据库,所以我的JS里面的i最大放7然后到7回0.
我想知道有没有办法在不知道数据库有多少图片的情况下,做个循环,怎么来定义这个count呢
我个人觉得大概是用 select count(*) from WishImage, 但是在后台哪里加,前台可以得到。求大神具体讲解。 展开
MemoryStream stream = new MemoryStream();
int id = int.Parse(context.Request.QueryString["id"]);
SqlConnection connection = new SqlConnection("省略");
try
{
connection.Open();
SqlCommand command = new SqlCommand("select [WishImage] from Wish where WishID='" + id + "' and IsApproved=True", connection);
command.Parameters.Add(new SqlParameter("@id", id));
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
byte[] image = (byte[])reader["WishImage"];
stream.Write(image, 0, image.Length);
Bitmap bitmap = new Bitmap(stream);
context.Response.ContentType = "image/jpeg";
bitmap.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
finally
{
connection.Close();
stream.Close();
}
aspx显示文件:
<script language="javascript" type="text/javascript">
var i = 1;
function fun() {
i++;
document.getElementById("img1").src = "display.ashx?id=" + i;
if (i == 7)
{ i = 0; }
}
setInterval("fun()", 1000);
</script>
<asp:Image ID="img1" runat="server" src="display.ashx?id=1">
我现在可以逐个显示从数据库提取出来的二进制图片,但是我提前知道了有7张图片在数据库,所以我的JS里面的i最大放7然后到7回0.
我想知道有没有办法在不知道数据库有多少图片的情况下,做个循环,怎么来定义这个count呢
我个人觉得大概是用 select count(*) from WishImage, 但是在后台哪里加,前台可以得到。求大神具体讲解。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询