📅  最后修改于: 2023-12-03 15:38:12.962000             🧑  作者: Mango
在 ASP.NET MVC 应用程序中,有时需要从数据库中检索图像并将其显示在视图中。本文将介绍一种用于显示数据库中图像的方法。
CREATE TABLE Images (
Id INT PRIMARY KEY IDENTITY(1,1),
Name varchar(255),
ImagePath varchar(255)
)
<img src="@Url.Content(Model.ImagePath)" alt="@Model.Name" />
public class ImageModel
{
public int ImageId { get; set; }
public string Name { get; set; }
public string ImagePath { get; set; }
}
public ActionResult DisplayImage(int id)
{
// 从数据库中获取图像
ImageModel image = GetImageFromDatabase(id);
// 返回图像给视图
return File(image.ImagePath, "image/jpeg");
}
private ImageModel GetImageFromDatabase(int id)
{
// 创建一个连接
using (SqlConnection connection = new SqlConnection("connection_string"))
{
// 打开连接
connection.Open();
// 创建查询命令
SqlCommand command = new SqlCommand("SELECT * FROM Images WHERE Id = @Id", connection);
command.Parameters.AddWithValue("@Id", id);
// 执行查询
SqlDataReader reader = command.ExecuteReader();
// 如果找到图像,返回它
if (reader.Read())
{
return new ImageModel
{
ImageId = (int)reader["Id"],
Name = (string)reader["Name"],
ImagePath = (string)reader["ImagePath"]
};
}
// 没有找到图像,返回空模型
return null;
}
}
<img src="@Url.Action("DisplayImage", new { id = Model.ImageId })" alt="@Model.Name" />
通过创建包含图像路径的表,并使用控制器来检索和显示图像,可以轻松在 ASP.NET MVC 中显示存储在数据库中的图像。