這個問題奇怪的是我一開始是將圖片的base64編碼數據存在本地數據庫里,這個直接取出來在頁面渲染正常,可是從后台再返給我時不知為什么在渲染時就自動在開頭加上了“unsafe:”這個開頭。
搜索了一下,有的解決方案說是要改config的設置,但是那好像是angularJS的解決方案,不是angular2+的,
再繼續找,找到這個:https://blog.csdn.net/weixin_30455067/article/details/96316033, 這個是寫了一個管道,利用了
DomSanitizer, 試了一下,還是不行,后來在
https://stackoverflow.com/questions/15606751/angularjs-changes-urls-to-unsafe-in-extension-page,最下面一個回答里看到一條,利用的還是DomSanitizer,只不過是沒寫在管道里,最后解決了。
在頁面組件里引入:
import { DomSanitizer } from '@angular/platform-browser';
在constructor里:
constructor(
private sanitizer: DomSanitizer,
...
){...}
然后對圖片數據變量處理:
img = this.sanitizer.bypassSecurityTrustResourceUrl( img );
之后html中的src渲染出來的就正常了。
<img [src]="img" width="56" height="56" />