数据库中的My Table包含一个类型为:image的列。
我已经成功地将图像上传到数据库。
但是几乎所有的教程,都向我们展示了如何给图像控制器一个URL它包含了页面的名称,加上一个参数它有数据库中所选行的ID
的例子:
//Database codes here... (query..etc..)
SqlDataReader myReader = myCommand.ExecuteReader();
if (myReader.HasRows == true)
{
myReader.Read();
Response.ContentType = "image/jpg";
Response.BinaryWrite((byte[])myReader[0]);
Image1.ImageUrl="User.aspx?imgid=1";
}
所以当我点击一个特定的按钮它应该从数据库中获取这个图像,然后给这个图像URL,图像全屏打开。但我不想这样,假设我的页面上有一个宽度和高度分别为50px和50px的图像的空白区域,我该如何在这个空白区域中显示图像呢?并保留所有其他内容?就像用户页面一样,个人资料页面
您可以使用<img>
标记控制图像的显示。比如你的ASP。获取并显示图像的NET页面称为ShowImage.aspx?ID=xxx
。
创建一个名为ShowImageAt50px.aspx
的新页面,并在该页添加以下标记:
<img src="ShowImage.aspx?ID=xxx" style="width:50px;" alt="" />
现在,当您访问ShowImageAt50px.aspx
时,它将显示图像限制在50像素宽
将图像存储在文件系统中并使用图像的文件名在数据库中引用图像通常要容易得多,也更不容易出错。
我从来没有遇到过将图像存储在数据库中的好理由。
另外,当你想编辑存储在数据库中的图像时,你需要将其从数据库中导出,然后再将其重新导入。