2017-03-18 34 views
0

我想爲asp.net mvc中的學生創建模型,我想知道如何使用模式包含圖像。如何將圖像包含在C#模型中並在MongoDB中插入文檔

除了僅使用圖像DataURI之外,還有其他方法嗎?

我的目標是提供安全性,以便他人無法看到圖像。 我正在做一個使用MongoDB的ASP.Net MVC項目

+0

我想我的問題是有點不同 –

+0

「圖像無法被別人看到」誰?保護誰? –

回答

0

我不確定你在問什麼。目前還不清楚圖片應該放在哪個位置以及哪裏。但我會嘗試提供一些提示。這不會是複製/「可粘貼的」,需要根據您的數據/型號進行調整。

我會從mongo模型中分離圖像。即「學生模型」應該爲其存儲在學生圖像集合中的圖像標識。

在您的網頁中通過控制器操作像這樣獲取圖像。如果您想要爲學生本身隱藏所有其他用戶,那麼您只需在用戶符合特定條件時展示它即可。我假設你正在談論安全性,你已經登錄(身份)和運行。

@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 
} 
相關問題