我使用的是角4,我使用的是一个api,它返回具有内容类型的图像: img/png
http方法:
return this.http.get('URL', this.options)
.map((res: Response) => res.text());
// can be also : res.arrayBuffer() // res.blob()
http get响应(在文本和ARC中)如下所示:
�PNG IHDR��"�W�W��zؽ�|+q%� ��Y������M缥{��U��H�ݏ)L�L�~�6/'6Q�}���:��l'���� �R�L�&�~Lw?�
我尝试了不同的方法来转换和显示它:
他们俩都没有为我工作,图像也没有显示出来。
我的问题是,响应的真正格式(blob、数组缓冲区或文本)是什么,以及如何显示它?
发布于 2017-10-29 14:41:04
您可以使用fetch
API实现这一点。
让我们首先以blob
的形式返回响应。然后可以使用URL.createObjectURL()
创建一个文件对象。
fetch(URL)
.then(res=>{return res.blob()})
.then(blob=>{
var img = URL.createObjectURL(blob);
// Do whatever with the img
document.getElementById('img').setAttribute('src', img);
})
https://stackoverflow.com/questions/47001306
复制相似问题