我需要在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添加它?
答案 0 :(得分:2)
您不会提及流程中设置的msg.payload
。
如果传递给HTTP响应节点的msg.payload
是字符串,则内容类型将获得添加的charset参数。这不是Node-RED的故意行为-而是底层的http / express框架中发生的事情。
如果msg.payload
是一个Buffer对象,则不添加任何此类参数。
答案 1 :(得分:-1)
charset = utf-8,由节点红色添加以定义标准,如果标头在其上添加了charset则没有问题。