Javascript 如何使用superagent发送FormData对象

Javascript 如何使用superagent发送FormData对象,javascript,node.js,multipartform-data,form-data,Javascript,Node.js,Multipartform Data,Form Data,我正在做一个API请求,然后是另一个到另一个服务器的请求,我需要向该服务器传递一个文件 做第一件事既好又容易。它看起来像这样: if (myFile) { const data = new FormData() data.append('myFile', myFile, myFile.name) myFile = data } isomorphicFetch(`${MY_ENDPOINT}`, { method: 'PATCH', b

我正在做一个API请求,然后是另一个到另一个服务器的请求,我需要向该服务器传递一个文件

做第一件事既好又容易。它看起来像这样:

if (myFile) {
    const data = new FormData()
    data.append('myFile', myFile, myFile.name)
    myFile = data
  }

isomorphicFetch(`${MY_ENDPOINT}`, {
        method: 'PATCH',
        body: myFile
      })
现在,在服务器端,我需要将其传递到另一台服务器。这是我用superagent做的。然而,我似乎在这个过程中丢失了文件。下面是代码当前的样子:

const fileField = Object.keys(data).pop()
if (fileField === 'myFile') {
  res = await request
    .patch(`${MY_OTHER_ENDPOINT}`)
    .send(data)
    .query(query)
}
请注意,
data
是上一个请求的主体,而
FormData
对象显示为空对象,因此我不确定从这里该做什么


在我的另一台服务器上,我的文件返回时是
未定义的
,但是如果我直接从客户端执行请求,它将按预期进行。那么如何将FormData对象从一个服务器应用转发到另一个服务器应用呢?

文件通常作为多部分请求的一部分发布到服务器

Superagent支持多部分请求,如下所示:

request
  .post('/upload')
  .attach('image1', 'path/to/felix.jpeg')
  .attach('image2', imageBuffer, 'luna.jpeg')
  .field('caption', 'My cats')
  .then(callback);
其他信息可在其文档中找到:


具体到您的示例,您希望确保您的服务器正在接收该文件,然后使用attach函数将该文件放入您的请求中。

因此,基本上,在我从客户端进行的同构提取的主体中,我应该发送路径和名称,而不是
FormData
对象?