我想发送一个带有json数据的图像作为Server(nodejs)到客户端(angularjs)的响应。我已经看到了将图像作为json发送但是将数据作为会话cookie发送但是它们不够令人满意的答案。 发送图像的最佳方式是什么?作为jpg或png格式的图像或发送其绝对路径和客户端下载它?
其次我想问一下,无论如何我可以将图片与我的回复一起嵌入并假设只有一张图片并且空间不会成为问题,如果是这样我怎么能这样做?
答案 0 :(得分:1)
不幸的是,我没有nodejs的语法,但相信概念将保持不变。 这是我的工作:
定义函数GET能够产生" image / *" 例如:
@GET
@Produces("image/*")
public Response getImage() {
String image = "scroll0015.jpg";
File f = new File(image);
if (!f.exists()) {
throw new WebApplicationException(404);
}
String mt = new MimetypesFileTypeMap().getContentType(f);
return Response.ok(f, mt).build();
}
然后在构建响应时,您在响应标头中告诉您要发送的文件内容。
1)如果您的用户/客户端能够访问共享位置,那么最好指向新URL。 例如使用亚马逊S3。
2)你的形象经常变化吗?让用户缓存它。
3)如果您的服务器可以很好地负责发送图像,那么您就可以使用云服务。
答案 1 :(得分:0)
在NodeJS应用程序中的base64中转换图像,然后将base64响应发送到客户端(AngularJS)。 有关更多信息,请参阅此链接: https://www.npmjs.com/package/base64-img