繁体   English   中英

如何在C#模型中包含图像并将文档插入MongoDB

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM