Node.js 如何使用hapi测试文件上传?
我的hapi路由中有这种有效负载格式,它只接受Node.js 如何使用hapi测试文件上传?,node.js,testing,hapi,Node.js,Testing,Hapi,我的hapi路由中有这种有效负载格式,它只接受多部分/表单数据数据,并且输出设置为流: payload: { maxBytes: 1024, output: 'stream', parse: true, allow: 'multipart/form-data', } 我想测试该路线,我的有效载荷如下: const FD = new FormData(); FD.append('field1', 'value')
多部分/表单数据
数据,并且输出设置为流
:
payload: {
maxBytes: 1024,
output: 'stream',
parse: true,
allow: 'multipart/form-data',
}
我想测试该路线,我的有效载荷如下:
const FD = new FormData();
FD.append('field1', 'value');
FD.append('field2', 'value');
hapi注入方法如下所示:
const res = await server.inject({
method,
url,
headers: {
...
'Content-Type': 'multipart/form-data; boundary=--SEPARATION--',
},
payload: FD,
});
const FormData = require('form-data');
const FD = new FormData();
FD.append('field1', 'value');
FD.append('field2', 'value');
const response = await server.inject({
method,
url,
headers: {
<your other headers>
...FD.getHeaders(),
},
payload: FD.getBuffer(),
});
我越来越
无效的多部分有效负载格式
我也尝试使用Steam
对象设置流,但它不起作用。我还试图发送一个文件
对象
此时,我只想向路由发送不会导致错误的内容。不必是FormData。只要我可以添加一些自定义字段来进一步测试,路由将接受的任何内容都可以
提前感谢。据我所知,
FormData
在node.js中不存在,所以我假设您正在使用
在这种情况下,您需要分别询问表单数据
,以获取缓冲区和标头,如下所示:
const res = await server.inject({
method,
url,
headers: {
...
'Content-Type': 'multipart/form-data; boundary=--SEPARATION--',
},
payload: FD,
});
const FormData = require('form-data');
const FD = new FormData();
FD.append('field1', 'value');
FD.append('field2', 'value');
const response = await server.inject({
method,
url,
headers: {
<your other headers>
...FD.getHeaders(),
},
payload: FD.getBuffer(),
});