Angular 使用typescript中的HTTP请求发送和显示图像

Angular 使用typescript中的HTTP请求发送和显示图像,angular,typescript,Angular,Typescript,我有一个用typescript编写的后端服务器 我想发送一些图像(在运行时动态生成),然后我想将它们发送回前端并显示它们 以下是来自后端的示例代码: import { readFileSync } from 'fs' router.get('/image',(req:any,res:Response)=>{ res.send(readFileSync('test.png')) }) 我知道我需要使用try&catch,但让我们假设它可以工作(这不是全部代码,只是相关部分) 我在前端得到一

我有一个用typescript编写的后端服务器

我想发送一些图像(在运行时动态生成),然后我想将它们发送回前端并显示它们

以下是来自后端的示例代码:

import { readFileSync } from 'fs'
router.get('/image',(req:any,res:Response)=>{
res.send(readFileSync('test.png'))
})
我知道我需要使用try&catch,但让我们假设它可以工作(这不是全部代码,只是相关部分)

我在前端得到一个缓冲区(我使用angular cli),但找不到任何方法来解析它并将其显示为图像

有什么想法吗?

试着这样做:

在组件ts文件中

this.http.get(urlImage, {responseType: 'arraybuffer'}).subscribe(data => {
  const bytes = new Uint8Array(data);
  const blob = new Blob([bytes], { type: 'image' });
  const urlCreator = window.URL || window['webkitURL'];
  this.imageData = urlCreator.createObjectURL(blob);
})
在html文件中

<img [src]="imageData"/>


为什么不调用API来获取文件?@Arcteezy哪个API?我对typescript(以及web)还很陌生,这是我在网上发现的唯一一种在服务器上编写restapi的方法(没有抛出任何异常),它会在调用时返回文件。我更喜欢从API返回图像文件的base64字符串,因为它易于处理。将其存储在变量中,您可以像
那样直接显示它,这是否回答了您的问题?如果我使用http.get或restClient.get,有什么区别吗?restClient是restclientservices类型我编写的代码应该是用于前端的(即Angular)。我不知道
restClient
(可能是你应用程序中的定制服务)。哦,你是对的,我不是亲自写的,所以没有注意到,只是尝试使用了另一个项目团队的东西。我尝试过使用它,但当我查看页面资源时,它说“加载响应数据失败”