如何在 form-data 项上设置自定义 header?
How to set custom header on form-data item?
我正在从 nodeJS 路由发送多部分数据作为响应。
我使用 form-data
库来完成,我的要求是为所有二进制数据发送额外的 header 信息。
我尝试了以下方法
router.get('/getdata', async (req, res, next) => {
var form = new FormData();
var encodedImage2 = fs.readFileSync('./public/image2.png');
var CRLF = '\r\n';
var options = {
header: CRLF + '--' + form.getBoundary() + CRLF + 'X-Custom-Header: 123' + CRLF + CRLF
};
form.append('image2.png', encodedImage2, options);
res.set('Content-Type', 'multipart/form-data; boundary=' + form.getBoundary());
form.pipe(res);
});
在输出中我只得到 header
X-Custom-Header: 123
没有 option
object 我可以得到
Content-Disposition: form-data; name="image2.png"
Content-Type: application/octet-stream
我需要一个输出 headers 类似
Content-Disposition: form-data; name="image2.png"
Content-Type: application/octet-stream
X-custom-Header: 123
只需在 express
的 res
object 中设置您的 headers,就像您对 Content-Type
:
所做的那样
router.get('/getdata', async (req, res, next) => {
var form = new FormData();
form.append('image2.png', fs.readFileSync('./public/image2.png'));
res.set('Content-Type', 'multipart/form-data; boundary=' + form.getBoundary());
res.set('X-Custom-Header', '123'); // Set header here
form.pipe(res);
});
我自己找到了解决办法,很简单。
可以在选项 object header 属性
中设置自定义 headers
router.get('/getdata', async (req, res, next) => {
var form = new FormData();
var encodedImage2 = fs.readFileSync('./public/image2.png');
var options = {
header: {
'X-Custom-Header': 123
}
};
form.append('image2.png', encodedImage2, options);
res.set('Content-Type', 'multipart/form-data; boundary=' + form.getBoundary());
form.pipe(res);
});
我正在从 nodeJS 路由发送多部分数据作为响应。
我使用 form-data
库来完成,我的要求是为所有二进制数据发送额外的 header 信息。
我尝试了以下方法
router.get('/getdata', async (req, res, next) => {
var form = new FormData();
var encodedImage2 = fs.readFileSync('./public/image2.png');
var CRLF = '\r\n';
var options = {
header: CRLF + '--' + form.getBoundary() + CRLF + 'X-Custom-Header: 123' + CRLF + CRLF
};
form.append('image2.png', encodedImage2, options);
res.set('Content-Type', 'multipart/form-data; boundary=' + form.getBoundary());
form.pipe(res);
});
在输出中我只得到 header
X-Custom-Header: 123
没有 option
object 我可以得到
Content-Disposition: form-data; name="image2.png"
Content-Type: application/octet-stream
我需要一个输出 headers 类似
Content-Disposition: form-data; name="image2.png"
Content-Type: application/octet-stream
X-custom-Header: 123
只需在 express
的 res
object 中设置您的 headers,就像您对 Content-Type
:
router.get('/getdata', async (req, res, next) => {
var form = new FormData();
form.append('image2.png', fs.readFileSync('./public/image2.png'));
res.set('Content-Type', 'multipart/form-data; boundary=' + form.getBoundary());
res.set('X-Custom-Header', '123'); // Set header here
form.pipe(res);
});
我自己找到了解决办法,很简单。 可以在选项 object header 属性
中设置自定义 headersrouter.get('/getdata', async (req, res, next) => {
var form = new FormData();
var encodedImage2 = fs.readFileSync('./public/image2.png');
var options = {
header: {
'X-Custom-Header': 123
}
};
form.append('image2.png', encodedImage2, options);
res.set('Content-Type', 'multipart/form-data; boundary=' + form.getBoundary());
form.pipe(res);
});