[英]How to Include image in a C# Model and insert the Document in MongoDB
我想在asp.net mvc中为学生创建一个模型,我想知道如何在该模式下包含图像。
除了仅使用图像DataURI之外,还有其他方法吗?
我的目标是要提供安全性,以使其他人无法看到图像。 我正在使用MongoDB在ASP.Net MVC上做一个项目
我不确定您要什么。 目前尚不清楚哪些人以及在何处无法使用该图像。 但我会尝试给出一些提示。 这不会被复制/“粘贴”,需要进行调整以匹配您的数据/模型。
我将在mongo中将图像与模型分离。 即“学生模型”应为其存储的学生图像集合中的图像保留一个ID。
在您的网页中,通过类似这样的控制器操作来获取图像。 如果要为学生以外的所有其他用户隐藏它,则仅在用户符合特定条件时才显示它。 我假设由于您在谈论安全性,因此已经启动并运行了登录名(Identity)。
@if (User.Identity.Name == @studentModel.UniqueName)
{
<img src="@Url.Action("GetStudentImage", "StudentController", new {id = studentModel.ImageId})"
}
在您的控制器中,您从mongo数据库中获取图像。 (这只是我的脑袋,与您的型号不符,因此您必须进行调整)
public Task<ActionResult> GetStudentImage(string id)
{
var image = mongo.GetCollection<Image>("Image").AsQueryable().First(x => x.Id == id);
return File(image.ImageBytes.ToArray(), "image/png"); // the image in bytes
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.