Heim  >  Artikel  >  Web-Frontend  >  Probleme mit unsicheren Bildpfaden bei Verwendung von Angular4

Probleme mit unsicheren Bildpfaden bei Verwendung von Angular4

亚连
亚连Original
2018-06-15 15:50:311850Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich die Lösung des Problems des unsicheren Bild-Upload-Vorschaupfads in Angular4 vor. Er bietet einen gewissen Referenz-Lernwert für alle, die ihn benötigen Lassen Sie uns unten gemeinsam lernen.

Vorwort

Als ich vor einiger Zeit an einem Projekt arbeitete, stieß ich auf ein Problem mit der Fähigkeit von AngularJS, Bildvorschau und -upload zu implementieren. In Angular4 tritt beim Hochladen und Auswählen einer lokalen Vorschau eines Bildes über input:file ein Fehler auf, wenn die über window.URL.createObjectURL erhaltene URL dem Quellcode des Bildes zugewiesen wird:

WARNING: sanitizing unsafe URL value

Wie unten beschrieben Hier ist eine Lösung:

HTML-Code:

<input type="file" (change)="fileChange($event)" >
<img [src]="imgUrl" alt="">

Darunter ist die Änderungsmethode wird aufgerufen, nachdem jedes Bild ausgewählt wurde, und die Quelle des Bildes muss übergeben werden. In Form einer Attributbindung führt die Verwendung von Interpolationsausdrücken ebenfalls zu Fehlern

ts-Code

import { Component, OnInit } from &#39;@angular/core&#39;;
import { DomSanitizer } from &#39;@angular/platform-browser&#39; 
@Component({
 selector: &#39;my-app&#39;,
 templateUrl: &#39;./app.component.html&#39;,
 styleUrls: [&#39;./app.component.css&#39;]
})
export class AppComponent implements OnInit { 
 imgUrl;
 constructor(
 private sanitizer: DomSanitizer
 ){} 
 ngOnInit() { } 
 fileChange(event){
 let file = event.target.files[0];
 let imgUrl = window.URL.createObjectURL(file);
 let sanitizerUrl = this.sanitizer.bypassSecurityTrustUrl(imgUrl); 
 this.imgUrl = sanitizerUrl;
 }
}

Führen Sie zuerst DomSanitizer ein und fügen Sie es dann in den Konstruktor ein. Das Wichtigste ist, die von window.URL.createObjectURL generierte imgUrl über die bypassSecurityTrustUrl-Methode von Santizer zu übergeben, um sie in einen sicheren Pfad umzuwandeln.

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

Wie vue+springboot domänenübergreifende Single-Sign-On-Probleme implementiert (ausführliches Tutorial)

Details zu häufigen verwendete JavaScript-Kapselung von Werkzeugklassen (ausführliches Tutorial)

Einführung in die Quellcode-Eintragsdatei in Vue im Detail (ausführliches Tutorial)

Einführung mehrerer JavaScript-Codierungen im Detail Spezifikation (ausführliches Tutorial)

So implementieren Sie die Drag-Verifizierungscode-Funktion mit jQuery und vue

So implementieren Sie die E-Mail Prompt-Vervollständigungsfunktion in JS

Das obige ist der detaillierte Inhalt vonProbleme mit unsicheren Bildpfaden bei Verwendung von Angular4. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn