我正在用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传回吗?如果是这样,什么是最好的方法?
谢谢