angular2+ 圖片 src 用base64編碼時,會自動加上‘unsafe:’這個開頭,解決方法


這個問題奇怪的是我一開始是將圖片的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" />

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM