【发布时间】:2017-07-15 19:29:44
【问题描述】:
我可以成功获取用户图像的 png 数据,但无法将其显示在 img 元素中。 (我通过调用来获取数据 - https://graph.windows.net/{my tenant}/users/{my user}/thumbnailPhoto?api-version=1.6)
我试过了 src="data:image/png;base64,{THE_DATA_HERE}" 但这似乎不起作用。 (在此处粘贴数据 - http://codebeautify.org/base64-to-image-converter 也不起作用,因此显然它不是 base64)
关于如何让这个结果出现在 img 中的任何想法? (这是在 JavaScript 中完成的 - 客户端)
我正在使用 Angular 2,并且必须通过 DOM Sanitizer.bypassSecurityTrustUrl 传递结果,然后才能将其应用于 src,所以我的代码可能还不太正确。任何人都可以在任何基于浏览器的客户端中使用此功能?
【问题讨论】:
-
有没有试过把图片转成Base64再显示?像
let image = btoa(response.thumbnailPhoto);然后src="data:image/png;base64,{image}"? -
@cameron 试过了。未捕获的 DOMException:无法在“Window”上执行“btoa”:要编码的字符串包含 Latin1 范围之外的字符。
-
试试
btoa(unescape(encodeURIComponent(response.thumbnailPhoto)))我不知道这是否适用于.png文件。 -
没有错误,但也没有图片:(
标签: angular adal azure-ad-graph-api