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