Отображение изображения из mongodb gridfs в angularjs с помощью webapi C#
Привет,
Я пытаюсь отобразить сохраненный поток в mongodb GridFS как изображение в angularjs с помощью webapi c#. Я использую mongodb 2.4.4 в своем проекте.
Пакет MongoDB : [^]
Что я уже пробовал:
Я сохранил поток из angular в mongodb, используя приведенный ниже код.
using (var stream = await this.Request.Content.ReadAsStreamAsync()) { var database = this.imageManager.GetDatabase(); // get database object var gridFsInfo = database.GridFS.Upload(stream, "FileName"); objectId = gridFsInfo.Id.ToString(); stream.Close(); } return this.Ok(objectId);
Приведенный выше код вставлял новые документы в fs.files и fs.chunk.
Теперь мне нужно отобразить загруженное изображение из mongodb GridFS в angularjs.
Я попробовал следующий код. Но изображение отображается как поврежденное изображение.
[HttpGet] [Route("~/GetImageFromServer/{objectId}")] public HttpResponseMessage GetImageFromMongo(string objectId) { var stream = this.GetImage(objectId); HttpResponseMessage response = new HttpResponseMessage(); response.Content = stream; response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream"); return response; } private StreamContent GetImage(string objectId) { var database = this.imageManager.GetDatabase(); var file = database.GridFS.FindOneById(new ObjectId(objectId)); var stream = file.OpenRead(); var bytes = new byte[stream.Length]; stream.Read(bytes, 0, (int)stream.Length); return new StreamContent(stream); }
Ниже строка должна отображать изображение в качестве фонового изображения
<div class="thumb-hov thumbnail-item" [ngStyle]="{'background-image': 'url(' + ImageURL+''+wb.ImageId+ ')'}">
Заранее спасибо