我将图像存储在我的数据库表中,并希望从数据库中读取并在我的asp.net页面中输出这些图像。有没有人对此有任何建议或提示?
由于
答案 0 :(得分:2)
您应该创建一个ashx处理程序。然后在页面输出中插入一些标记<img src="yourhandler.ashx?id=yourid" ..>
在处理程序类中,您从数据库中读取图像并使用Response.Write向下流式传输到客户端。请记住正确设置内容类型。
这是一个例子:http://www.developerfusion.com/code/5223/using-ashx-files-to-retrieve-db-images/。一旦你有第一个版本工作,你可能需要通过添加一些缓存处理来改进它,但让我们开始创建句柄:)
答案 1 :(得分:1)
关注此Article。它将向您展示如何从数据库保存和检索图像的分步指南。
答案 2 :(得分:1)
你可以这样做:
创建单独的页面,该页面将从Db中检索图像,并将图像src设置为新页面url。传递一个查询字符串,其中包含照片的ID或您可以从数据库中获取的一些方法。
在新页面上有一些代码如下:
if (Request.QueryString["imageId"] != null)
{
int imgId= int.Parse(Request.QueryString["imageId"]);
byte[] photoBytes= //get photo bytes from the DB here...
if (photoBytes != null)
{
if (photoBytes.Length > 0)
{
byte[] bImage;
bImage = photoBytes;
//write the bytes to the response.. the page that has referenced this page as the img src will sow the image
Response.BinaryWrite(bImage);
}
}
}