Используя SafeUrl в фоновом изображении CSS выражение с ngStyle? - PullRequest
0 голосов
/ 01 апреля 2020

Попытка установить фоновое изображение, используя SafeUrl, как это.

<h1>Image Test</h1>
<img [src]="imageURL" width="500px" height="500px">

<br>

<code>{{imageURL}}</code>

<div id="i" 
     class=".background-image"
     [ngStyle]="{'background-image': imageURL}">
></div>

Рендеринг тега img, но не div.

Есть идеи?

Это демонстрация Stackblitz:

https://stackblitz.com/edit/angular-blob-to-safe-url?file=src%2Fapp%2Fapp.component.html

Изображение загружается так:

this.loadImage().subscribe(i=>
{
     this.image = i
      this.imageURL = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(this.image))
})

1 Ответ

1 голос
/ 01 апреля 2020

Синтаксис свойства фонового изображения для URL-адресов: URL ("[URL]")

html

   <div id="i" 
         class=".background-image"
         [ngStyle]="{'background-image': getBackgroundImageUrl(imageURL)}">
    ></div>

ts

getBackgroundImageUrl(url) {
     return `url("${url.changingThisBreaksApplicationSecurity}")`;
}
...