使用 REST API 将图像从服务器发送到客户端

Posted

技术标签:

【中文标题】使用 REST API 将图像从服务器发送到客户端【英文标题】:send image from server to client with REST API 【发布时间】:2019-08-07 03:41:29 【问题描述】:

我正在尝试将存储在服务器中(当前在本地存储中)的图像发送到客户端。这是我的部分代码

exports.get_icon = (req, res) => 

  App.findOne(name: req.body.name, (error, application) => 
    if(error)
      console.log(error);
     else
      console.log(application);

      res.status(200).send(application.iconImage) //!!need to do something here
    
  )

这个函数应该获取图像的存储路径,然后将其发送给客户端。当前,服务器发送图像的路径,而不是图像本身。像这样uploads/Twitter/icon.png。那么,知道application.iconImage 给出了图像的路径,我怎么能将图像从服务器发送到客户端呢?

【问题讨论】:

【参考方案1】:

express 中有一个功能是通过文件路径发送文件。

res.sendFile

app.get('/getImage/:id', (req, res) => 
    res.sendFile(filepath);
);

但是,我建议您发送文件路径而不是文件,因为这是最佳做法。

app.get('/getImage/:id', (req, res) => 
   res.send( img: filePath );
)

【讨论】:

以上是关于使用 REST API 将图像从服务器发送到客户端的主要内容,如果未能解决你的问题,请参考以下文章

从 REST API 返回的图像总是显示损坏

将图像从服务器发送到客户端的专业方式

将文件从 REST Web 服务发送到客户端的正确方法是啥?

从 Spring Boot 中使用 rest api,架构问题

如何使用 Swift 3 将图像从 Rest Api 加载到视图中加载方法

Node JS在rest api响应中返回图像[关闭]