VasanthPorcheziyan Ответов: 0

Отображение изображения из 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+ ')'}">


Заранее спасибо

0 Ответов