如果我的RESTful api将图像存储在文件系统中,那么客户端在获取请求时如何获取图像?

时间:2018-11-26 12:53:10

标签: node.js express multer

我用node / express制作了一个RESTful api。一个客户端可以上传照片和音频,并且api使用multer将其存储在文件系统中(还没有弄清楚如何在数据库中存储文件)。例如,在Angular中,客户端从api消费时如何接收照片?它无法在json中接收到文件在文件系统中位置的链接,对吧?

2 个答案:

答案 0 :(得分:0)

添加端点以获取具有适当内容类型的文件。

如果对文件名进行标记并按原样存储,则端点可以将文件名作为参数,或者可以为其分配唯一键并将其存储在数据库中(带有其他元数据),然后可以检索它从具有ID的磁盘。

答案 1 :(得分:-1)

您的客户端(使用API​​的任何类型的应用程序)都可以通过两种简单的方式获取文件:使用公开的公开URL直接访问本地文件(不安全)或读取字节缓冲区。 Javascript可以使用字节缓冲区来构建对象。您可以在另一篇文章中进行检查:How do I read binary data to a byte array in Javascript?

或更具体地讲,AngularJS可以在这里找到如何从字节码读取和显示图像的更详细的示例:How to display Image received as byte array in Angular JS