Heim Web-Frontend js-Tutorial Probleme mit unsicheren Bildpfaden bei Verwendung von Angular4

Probleme mit unsicheren Bildpfaden bei Verwendung von Angular4

Jun 15, 2018 pm 03:50 PM
angular 图片上传

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So installieren Sie Angular unter Ubuntu 24.04 So installieren Sie Angular unter Ubuntu 24.04 Mar 23, 2024 pm 12:20 PM

Angular.js ist eine frei zugängliche JavaScript-Plattform zum Erstellen dynamischer Anwendungen. Es ermöglicht Ihnen, verschiedene Aspekte Ihrer Anwendung schnell und klar auszudrücken, indem Sie die Syntax von HTML als Vorlagensprache erweitern. Angular.js bietet eine Reihe von Tools, die Sie beim Schreiben, Aktualisieren und Testen Ihres Codes unterstützen. Darüber hinaus bietet es viele Funktionen wie Routing und Formularverwaltung. In dieser Anleitung wird erläutert, wie Angular auf Ubuntu24 installiert wird. Zuerst müssen Sie Node.js installieren. Node.js ist eine JavaScript-Ausführungsumgebung, die auf der ChromeV8-Engine basiert und es Ihnen ermöglicht, JavaScript-Code auf der Serverseite auszuführen. In Ub sein

Ein Artikel über serverseitiges Rendering (SSR) in Angular Ein Artikel über serverseitiges Rendering (SSR) in Angular Dec 27, 2022 pm 07:24 PM

Kennen Sie Angular Universal? Es kann dazu beitragen, dass die Website eine bessere SEO-Unterstützung bietet!

Wie man PHP und Angular für die Frontend-Entwicklung verwendet Wie man PHP und Angular für die Frontend-Entwicklung verwendet May 11, 2023 pm 04:04 PM

Mit der rasanten Entwicklung des Internets wird auch die Front-End-Entwicklungstechnologie ständig verbessert und iteriert. PHP und Angular sind zwei Technologien, die in der Frontend-Entwicklung weit verbreitet sind. PHP ist eine serverseitige Skriptsprache, die Aufgaben wie die Verarbeitung von Formularen, die Generierung dynamischer Seiten und die Verwaltung von Zugriffsberechtigungen übernehmen kann. Angular ist ein JavaScript-Framework, mit dem Single-Page-Anwendungen entwickelt und komponentenbasierte Webanwendungen erstellt werden können. In diesem Artikel erfahren Sie, wie Sie PHP und Angular für die Frontend-Entwicklung verwenden und wie Sie diese kombinieren

Eine kurze Analyse der Verwendung des Monaco-Editors in Angular Eine kurze Analyse der Verwendung des Monaco-Editors in Angular Oct 17, 2022 pm 08:04 PM

Wie verwende ich den Monaco-Editor in Angular? Der folgende Artikel dokumentiert die Verwendung des Monaco-Editors in Angular, der kürzlich in einem Unternehmen verwendet wurde. Ich hoffe, dass er für alle hilfreich sein wird!

Das WeChat-Applet implementiert die Funktion zum Hochladen von Bildern Das WeChat-Applet implementiert die Funktion zum Hochladen von Bildern Nov 21, 2023 am 09:08 AM

WeChat-Applet implementiert Bild-Upload-Funktion Mit der Entwicklung des mobilen Internets ist das WeChat-Applet zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. WeChat-Miniprogramme bieten nicht nur eine Fülle von Anwendungsszenarien, sondern unterstützen auch vom Entwickler definierte Funktionen, einschließlich Funktionen zum Hochladen von Bildern. In diesem Artikel wird erläutert, wie die Bild-Upload-Funktion im WeChat-Applet implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. 1. Vorbereitende Arbeiten Bevor wir mit dem Schreiben von Code beginnen, müssen wir die WeChat-Entwicklertools herunterladen und installieren und uns als WeChat-Entwickler registrieren. Gleichzeitig müssen Sie auch WeChat verstehen

Eine kurze Analyse unabhängiger Komponenten in Angular und deren Verwendung Eine kurze Analyse unabhängiger Komponenten in Angular und deren Verwendung Jun 23, 2022 pm 03:49 PM

Dieser Artikel führt Sie durch die unabhängigen Komponenten in Angular, wie Sie eine unabhängige Komponente in Angular erstellen und wie Sie vorhandene Module in die unabhängige Komponente importieren. Ich hoffe, er wird Ihnen hilfreich sein!

Schritte zum Implementieren des Hochladens und Anzeigens von Bildern mithilfe des CakePHP-Frameworks Schritte zum Implementieren des Hochladens und Anzeigens von Bildern mithilfe des CakePHP-Frameworks Jul 29, 2023 pm 04:21 PM

Schritte zum Implementieren des Hochladens und Anzeigens von Bildern mithilfe des CakePHP-Frameworks Einführung: In modernen Webanwendungen sind das Hochladen und Anzeigen von Bildern häufige Funktionsanforderungen. Das CakePHP-Framework stellt Entwicklern leistungsstarke Funktionen und praktische Tools zur Verfügung, die das Hochladen und Anzeigen von Bildern einfach und effizient machen. In diesem Artikel erfahren Sie, wie Sie das CakePHP-Framework zum Hochladen und Anzeigen von Bildern verwenden. Schritt 1: Erstellen Sie ein Datei-Upload-Formular. Zuerst müssen wir in der Ansichtsdatei ein Formular erstellen, damit Benutzer Bilder hochladen können. Das Folgende ist ein Beispiel dafür

Winkelkomponenten und ihre Anzeigeeigenschaften: Nicht-Block-Standardwerte verstehen Winkelkomponenten und ihre Anzeigeeigenschaften: Nicht-Block-Standardwerte verstehen Mar 15, 2024 pm 04:51 PM

Das Standardanzeigeverhalten für Komponenten im Angular-Framework gilt nicht für Elemente auf Blockebene. Diese Designwahl fördert die Kapselung von Komponentenstilen und ermutigt Entwickler, bewusst zu definieren, wie jede Komponente angezeigt wird. Durch explizites Festlegen der CSS-Eigenschaft display kann die Anzeige von Angular-Komponenten vollständig gesteuert werden, um das gewünschte Layout und die gewünschte Reaktionsfähigkeit zu erreichen.

See all articles