Node.js 如何使用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')

我的hapi路由中有这种有效负载格式,它只接受
多部分/表单数据
数据,并且输出设置为

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(),
});