我需要为NodeRED中的jpeg图像建立一个http代理。我的目标是让浏览器从NodeRED服务器获取仪表板中的所有页面资源。并且该映像只能从另一台服务器上获得。
我尝试了这个抽象的流程:
http-in -> http-request -> function node -> http response在功能节点中,我设置了头部:
msg.headers = {
"content-type": "image/jpeg",
"content-disposition": "inline; filename=\"myimage.jpg\""
}问题是,浏览器会得到这些头文件(摘录):
content-type: image/jpeg; charset=utf-8
content-disposition: inline; filename="myimage.jpg"见鬼,charset=utf-8是从哪里来的,如何阻止NodeRED添加这个?
发布于 2019-06-21 22:17:40
您没有提到流中的msg.payload设置为什么。
如果传递给HTTP Response节点的msg.payload是一个字符串,则内容类型会添加charset参数。这不是Node-RED的故意行为,而是底层http/express框架中发生的一些事情。
如果msg.payload是一个缓冲区对象,则不会添加这样的参数。
发布于 2019-09-25 20:18:40
charset=utf-8,由node-red添加,用于定义标准。如果在其上添加charset,则不会有任何问题。
https://stackoverflow.com/questions/56704992
复制相似问题