検索
ホームページウェブフロントエンドjsチュートリアルAngular4 使用時の安全でない画像パスの問題
Angular4 使用時の安全でない画像パスの問題Jun 15, 2018 pm 03:50 PM
angular写真をアップロードする

この記事では、Angular4 の安全でない画像アップロード プレビュー パスの問題の解決策をサンプル コードを通じて詳しく紹介します。この記事は、学習や仕事に役立つ特定の価値があります。以下を読んで一緒に学びましょう。

前書き

少し前にプロジェクトを行っていたときに、Angular4 で画像のプレビューとアップロードの機能を実装している AngularJS で、input を通じて画像のローカル プレビューを選択するという問題に遭遇しました。 file アップロード時に、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

警告: 安全でない URL 値をサニタイズしています

以下に解決策を紹介します メソッド:

htmlコード: rrreee

このうち、changeメソッドは各画像が選択された後に呼び出されます。 画像のsrcは次の形式でなければなりません。補間式を使用するとエラーも発生します

ts コード

rrreee まず、DomSanitizer を導入し、それをコンストラクターに挿入します。最も重要なことは、window.URL によって生成された imgUrl を変換することです。 createObjectURL をサンタイザーの bypassSecurityTrustUrl メソッドを通じて安全なパスにコピーします。

上記は私があなたのためにまとめたものです。

関連記事:

vue+springboot がシングル サインオンのクロスドメインの問題を実装する方法 (詳細なチュートリアル)

🎜 JavaScript で一般的に使用されるツール クラスのカプセル化について詳しく紹介します (詳細なチュートリアル) 🎜🎜🎜🎜の紹介vue のソース コードの詳細 エントリ ファイル (詳細なチュートリアル) 🎜🎜🎜🎜いくつかの JavaScript コーディング標準を詳細に紹介します (詳細なチュートリアル) 🎜🎜🎜🎜 jQuery と vue を使用してドラッグ検証コード関数を実装する方法 🎜🎜🎜🎜方法電子メールプロンプト補完関数を JS で実装します 🎜🎜

以上がAngular4 使用時の安全でない画像パスの問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
聊聊Angular中的元数据(Metadata)和装饰器(Decorator)聊聊Angular中的元数据(Metadata)和装饰器(Decorator)Feb 28, 2022 am 11:10 AM

本篇文章继续Angular的学习,带大家了解一下Angular中的元数据和装饰器,简单了解一下他们的用法,希望对大家有所帮助!

Angular + NG-ZORRO快速开发一个后台系统Angular + NG-ZORRO快速开发一个后台系统Apr 21, 2022 am 10:45 AM

本篇文章给大家分享一个Angular实战,了解一下angualr 结合 ng-zorro 如何快速开发一个后台系统,希望对大家有所帮助!

微信小程序实现图片上传功能微信小程序实现图片上传功能Nov 21, 2023 am 09:08 AM

微信小程序实现图片上传功能随着移动互联网的发展,微信小程序已经成为了人们生活中不可或缺的一部分。微信小程序不仅提供了丰富的应用场景,还支持开发者自定义功能,其中包括图片上传功能。本文将介绍如何在微信小程序中实现图片上传功能,并提供具体的代码示例。一、前期准备工作在开始编写代码之前,我们需要先下载并安装微信开发者工具,并注册成为微信开发者。同时,还需要了解微信

使用CakePHP框架实现图片上传和显示的步骤使用CakePHP框架实现图片上传和显示的步骤Jul 29, 2023 pm 04:21 PM

使用CakePHP框架实现图片上传和显示的步骤引言:在现代Web应用程序中,图片上传和显示是常见的功能需求。CakePHP框架为开发者提供了强大的功能和便捷的工具,使得实现图片上传和显示变得简单高效。本文将向您介绍如何使用CakePHP框架来实现图片上传和显示。步骤1:创建文件上传表单首先,我们需要在视图文件中创建一个表单,用于用户上传图片。以下是一个示例的

Vue技术开发中如何处理图片上传和压缩Vue技术开发中如何处理图片上传和压缩Oct 08, 2023 am 10:58 AM

Vue技术开发中如何处理图片上传和压缩在现代web应用中,图片上传是一个非常常见的需求。然而,由于网络传输和存储等方面的原因,直接上传原始的高分辨率图片可能会导致上传速度慢和存储空间的大量浪费。因此,对于图片的上传和压缩是非常重要的。在Vue技术开发中,我们可以使用一些现成的解决方案来处理图片上传和压缩。下面将介绍如何使用vue-upload-compone

如何使用PHP和Vue实现图片上传功能如何使用PHP和Vue实现图片上传功能Sep 25, 2023 pm 03:17 PM

如何使用PHP和Vue实现图片上传功能在现代网页开发中,图片上传功能是非常常见的需求。本文将详细介绍如何使用PHP和Vue来实现图片上传功能,并提供具体的代码示例。一、前端部分(Vue)首先需要在前端创建一个用于上传图片的表单。具体代码如下:&lt;template&gt;&lt;div&gt;&lt;inputtype=&quot;fil

一文浅析Angular中的响应式表单一文浅析Angular中的响应式表单Apr 25, 2022 am 10:26 AM

本篇文章带大家聊聊Angular中的响应式表单,通过实例来介绍一下简单的表单实现方法,希望对大家有所帮助!

Angular中怎么自定义视频播放器Angular中怎么自定义视频播放器Apr 28, 2022 am 10:39 AM

怎么自定义 Video 操作?自定义视频播放器?下面本篇文章给大家介绍一下Angular 中自定义 Video 操作的方法,希望对大家有所帮助!

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。