asp.net读取显示二进制图片从MySQL数据库
ashx页面MemoryStreamstream=newMemoryStream();SqlConnectionconnection=newSqlConnection("...
ashx页面
MemoryStream stream = new MemoryStream();
SqlConnection connection = new SqlConnection("省略。。。");
try
{
connection.Open();
SqlCommand command = new SqlCommand("select WishImage from Wish ", connection);
byte[] image = (byte[])command.ExecuteScalar();
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页面
<img src="xx.ashx">
用了以上方法,只能读取到数据库中的第一张图片,不能显示所有的WishImage
求大神帮忙修改一下 展开
MemoryStream stream = new MemoryStream();
SqlConnection connection = new SqlConnection("省略。。。");
try
{
connection.Open();
SqlCommand command = new SqlCommand("select WishImage from Wish ", connection);
byte[] image = (byte[])command.ExecuteScalar();
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页面
<img src="xx.ashx">
用了以上方法,只能读取到数据库中的第一张图片,不能显示所有的WishImage
求大神帮忙修改一下 展开
1个回答
展开全部
建议你在看一下 ado.net 的 相关内容!
这里 不要用 ExceuteScalar方法 应该用 ExecuteReader 方法
try
{
connection.Open();
SqlCommand command = new SqlCommand("select WishImage from Wish ", connection);
SqlDataReader reader = command .ExecuteReader();
if (reader.Read())
{
byte[] image =(byte[]) reader[0];
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();
}
这里 不要用 ExceuteScalar方法 应该用 ExecuteReader 方法
try
{
connection.Open();
SqlCommand command = new SqlCommand("select WishImage from Wish ", connection);
SqlDataReader reader = command .ExecuteReader();
if (reader.Read())
{
byte[] image =(byte[]) reader[0];
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();
}
追问
改完以后 还是只能显示第一张,
总感觉我写的这个少一点逻辑。
这样是把所有数据库的图片,读取出来的吧,还没有显示呢吧。
直接 应该做不到一个一个显示所有的图片吧
求大神指导
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询