如何显示来自asp.net核心的成角度的图像

时间:2019-05-08 16:32:48

标签: angular asp.net-core

我正在用angular 6和asp.net核心构建一个项目。我将图像保存在服务器上,并将图像路径和图像名称保存在数据库中。

在使用domSanitizer之后,我尝试将图像路径传递给有角度的对象,但浏览器仍然显示“不允许加载本地资源:{filepath}”

component.ts

photo: Photo;
imageToShow: any;

getPhoto() {
    this.fileService.getPhoto().subscribe(response => {
      this.photo = response;
      this.imageToShow = this.sanitizer.bypassSecurityTrustResourceUrl(this.photo.thumbPhotoPath);
    });
  }

component.html

<img [src]="imageToShow">

service.ts

getPhoto(id: number) {
      return this.http.get<Photo>(this.baseUrl + 'get-photo/' + id);
  }

控制器

[HttpGet("get-photo/{id}")]
public async Task<IActionResult> GetPhoto(int id) 
{
    var photo = await _repo.GetPhoto(id);

    var pathToImage = Path.Combine(photo.ThumbPhotoPath, photo.ImageName);

    FilePhoto photoData = new FilePhoto()
    {   
        Id = photo.Id,
        ThumbPhotoPath = pathToImage,
    };
    return Ok(photoData);
}

有人知道将存储在服务器上的图像成角度显示的最佳方法吗?我应该将它作为blob传回吗?如果是这样,什么是最好的方法?

谢谢

0 个答案:

没有答案