웹 프론트엔드 JS 튜토리얼 Angular4 사용 시 안전하지 않은 이미지 경로 문제

Angular4 사용 시 안전하지 않은 이미지 경로 문제

Jun 15, 2018 pm 03:50 PM
angular 이미지 업로드

이 글에서는 주로 Angular4의 안전하지 않은 이미지 업로드 미리보기 경로 문제에 대한 해결책을 소개합니다. 이 글은 샘플 코드를 통해 이를 매우 자세하게 소개하며, 필요한 모든 사람의 학습이나 학습에 도움이 될 수 있습니다. 아래에서 읽어보세요. 와서 함께 배워보세요.

머리말

얼마 전 프로젝트를 진행하던 중 AngularJS에서 이미지 미리보기 및 업로드 기능을 구현하는 문제에 직면했습니다. Angular4에서는 입력을 통해 이미지의 로컬 미리보기를 선택합니다. 파일 업로드 때, window.URL.createObjectURL을 통해 얻은 URL을 이미지의 src에 할당할 때 오류가 발생했습니다: input:file上传选择图片本地预览的时候,通过window.URL.createObjectURL获取的url赋值给image的src出现错误:

WARNING: sanitizing unsafe URL value

下面介绍一下解决方法:

html代码:

<input type="file" (change)="fileChange($event)" >
<img [src]="imgUrl" alt="">
로그인 후 복사

其中,change方法会在每次选择图片后调用,image的src必须通过属性绑定的形式,使用插值表达式同样会出错

ts代码

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;
 }
}
로그인 후 복사

首先,引入DomSanitizer,然后在构造器里面注入,最重要的就是把window.URL.createObjectURL

WARNING: 안전하지 않은 URL 값을 삭제

다음은 해결 방법을 소개합니다. 방법:

html 코드: rrreee

그 중 각 이미지를 선택한 후 변경 방법이 호출됩니다. 이미지의 src는 다음과 같은 형식이어야 합니다. 속성 바인딩을 사용하면 오류가 발생합니다

ts 코드

rrreee먼저 DomSanitizer를 도입한 다음 생성자에 삽입합니다. 가장 중요한 것은 window.URL에서 생성된 imgUrl을 변환하는 것입니다. createObjectURL을 Santizer의 BypassSecurityTrustUrl 메소드를 통해 안전한 경로로 복사합니다.

위 내용은 모두를 위해 제가 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

vue+springboot가 도메인 간 싱글 사인온 문제를 구현하는 방법(자세한 튜토리얼)

🎜자바스크립트에서 일반적으로 사용되는 도구 클래스의 캡슐화를 자세히 소개합니다(자세한 튜토리얼) 🎜🎜🎜🎜소개합니다 Vue의 소스 코드 자세히 입력 파일(상세 튜토리얼) 🎜🎜🎜🎜여러 가지 JavaScript 코딩 표준을 자세히 소개합니다(상세 튜토리얼) 🎜🎜🎜🎜jQuery와 vue를 사용하여 드래그 인증 코드 기능을 구현하는 방법🎜🎜🎜🎜방법 JS에서 이메일 프롬프트 완성 기능 구현 🎜🎜

위 내용은 Angular4 사용 시 안전하지 않은 이미지 경로 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 24.04에 Angular를 설치하는 방법 Ubuntu 24.04에 Angular를 설치하는 방법 Mar 23, 2024 pm 12:20 PM

Angular.js는 동적 애플리케이션을 만들기 위해 자유롭게 액세스할 수 있는 JavaScript 플랫폼입니다. HTML 구문을 템플릿 언어로 확장하여 애플리케이션의 다양한 측면을 빠르고 명확하게 표현할 수 있습니다. Angular.js는 코드를 작성, 업데이트 및 테스트하는 데 도움이 되는 다양한 도구를 제공합니다. 또한 라우팅 및 양식 관리와 같은 많은 기능을 제공합니다. 이 가이드에서는 Ubuntu24에 Angular를 설치하는 방법에 대해 설명합니다. 먼저 Node.js를 설치해야 합니다. Node.js는 서버 측에서 JavaScript 코드를 실행할 수 있게 해주는 ChromeV8 엔진 기반의 JavaScript 실행 환경입니다. Ub에 있으려면

Angular의 서버 측 렌더링(SSR)을 탐색하는 기사 Angular의 서버 측 렌더링(SSR)을 탐색하는 기사 Dec 27, 2022 pm 07:24 PM

앵귤러 유니버셜(Angular Universal)을 아시나요? 웹사이트가 더 나은 SEO 지원을 제공하는 데 도움이 될 수 있습니다!

프론트엔드 개발에 PHP와 Angular를 사용하는 방법 프론트엔드 개발에 PHP와 Angular를 사용하는 방법 May 11, 2023 pm 04:04 PM

인터넷의 급속한 발전과 함께 프론트엔드 개발 기술도 지속적으로 개선되고 반복되고 있습니다. PHP와 Angular는 프런트엔드 개발에 널리 사용되는 두 가지 기술입니다. PHP는 양식 처리, 동적 페이지 생성, 액세스 권한 관리와 같은 작업을 처리할 수 있는 서버측 스크립팅 언어입니다. Angular는 단일 페이지 애플리케이션을 개발하고 구성 요소화된 웹 애플리케이션을 구축하는 데 사용할 수 있는 JavaScript 프레임워크입니다. 이 기사에서는 프론트엔드 개발에 PHP와 Angular를 사용하는 방법과 이들을 결합하는 방법을 소개합니다.

각도에서 monaco-editor를 사용하는 방법에 대한 간략한 분석 각도에서 monaco-editor를 사용하는 방법에 대한 간략한 분석 Oct 17, 2022 pm 08:04 PM

각도에서 모나코 편집기를 사용하는 방법은 무엇입니까? 다음 글은 최근 비즈니스에서 사용되는 Monaco-Editor의 활용 사례를 기록한 글입니다.

WeChat 애플릿은 사진 업로드 기능을 구현합니다. WeChat 애플릿은 사진 업로드 기능을 구현합니다. Nov 21, 2023 am 09:08 AM

WeChat 애플릿은 사진 업로드 기능을 구현합니다. 모바일 인터넷의 발전으로 WeChat 애플릿은 사람들의 삶에 없어서는 안될 부분이 되었습니다. WeChat 미니 프로그램은 다양한 애플리케이션 시나리오를 제공할 뿐만 아니라 이미지 업로드 기능을 포함한 개발자 정의 기능도 지원합니다. 이 기사에서는 WeChat 애플릿에서 이미지 업로드 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 준비 작업 코드 작성을 시작하기 전에 WeChat 개발자 도구를 다운로드하여 설치하고 WeChat 개발자로 등록해야 합니다. 동시에 WeChat도 이해해야 합니다.

Angular의 독립 구성요소에 대한 간략한 분석 및 사용 방법 알아보기 Angular의 독립 구성요소에 대한 간략한 분석 및 사용 방법 알아보기 Jun 23, 2022 pm 03:49 PM

이 기사에서는 Angular의 독립 구성 요소, Angular에서 독립 구성 요소를 만드는 방법, 기존 모듈을 독립 구성 요소로 가져오는 방법을 안내합니다.

CakePHP 프레임워크를 사용하여 이미지 업로드 및 표시를 구현하는 단계 CakePHP 프레임워크를 사용하여 이미지 업로드 및 표시를 구현하는 단계 Jul 29, 2023 pm 04:21 PM

CakePHP 프레임워크를 사용하여 이미지 업로드 및 표시를 구현하는 단계 소개: 최신 웹 애플리케이션에서 이미지 업로드 및 표시는 일반적인 기능 요구 사항입니다. CakePHP 프레임워크는 개발자에게 강력한 기능과 편리한 도구를 제공하여 이미지를 쉽고 효율적으로 업로드하고 표시할 수 있도록 해줍니다. 이 글에서는 CakePHP 프레임워크를 사용하여 이미지를 업로드하고 표시하는 방법을 소개합니다. 1단계: 파일 업로드 양식 만들기 먼저 사용자가 이미지를 업로드할 수 있는 보기 파일에 양식을 만들어야 합니다. 다음은 그 예입니다.

Angular 구성 요소 및 해당 표시 속성: 비블록 기본값 이해 Angular 구성 요소 및 해당 표시 속성: 비블록 기본값 이해 Mar 15, 2024 pm 04:51 PM

Angular 프레임워크의 구성 요소에 대한 기본 표시 동작은 블록 수준 요소에 대한 것이 아닙니다. 이 디자인 선택은 구성 요소 스타일의 캡슐화를 촉진하고 개발자가 각 구성 요소가 표시되는 방법을 의식적으로 정의하도록 장려합니다. CSS 속성 표시를 명시적으로 설정하면 Angular 구성 요소의 표시를 완전히 제어하여 원하는 레이아웃과 응답성을 얻을 수 있습니다.

See all articles