Heim > Web-Frontend > js-Tutorial > Hauptteil

Probleme mit unsicheren Bildpfaden bei Verwendung von Angular4

亚连
Freigeben: 2018-06-15 15:50:31
Original
1856 Leute haben es durchsucht

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="">
Nach dem Login kopieren

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;
 }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!