angular4 上传本地图片,将拿到的files转化为url地址,提示sanitizing unsafe URL value

  最近用angular4做项目,上传图片时在onchange里面拿到files文件,将files文件转化为url地址显示的时候,发现console里面报错,同时angular4提示WARNING: sanitizing unsafe URL value,最后在谷歌找到解决办法。下面附上我的代码截图。

  html中使用input标签

<input #file2 type="file" id="logo" value="" name="file" accept="image/*" multiple [disabled]="isInput" />

  在onchange里面拿到files文件

// 获取图片文件
let files = this.files;
// 转化为url
let imgurl = window.URL.createObjectURL(files[0]);

  这时按照我以前用angular1的做法直接把这个地址绑定到img标签上就可以预览本地上传的图片,但是,angular4却报了WARNING: sanitizing unsafe URL value,还好找到了解决办法。

1:在组件里面引入angular内置的StampComponent模块

import {StampComponent} from "../base/stamp/stamp.component";

2:我喜欢在构造器里面定义属性

constructor(private sanitizer:DomSanitizer) { }

3:将地址转化为安全地址

let sanitizerUrl = self.sanitizer.bypassSecurityTrustUrl(imgurl);

  最后就可以把地址放入img的src上面了。

    原文作者:smile
    原文地址: https://segmentfault.com/a/1190000012427603
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞