有没有办法将 Express.Multer.File 放入 FormData 对象中?

Is there a way to put Express.Multer.File into a FormData object?

我需要有关如何将类型为 Express.Multer.File 的文件放入 FormData 对象的帮助。

上下文:我收到一个类型为 Express.Multer.File 的文件(我正在使用 nestjs,所以我使用了文档的这一部分:https://docs.nestjs.com/techniques/file-upload),我需要将其放入FormData,将其发送到另一个 API.

我试过了form.append('randomword',文件);但我收到以下错误:

TypeError: source.on is not a function
    at Function.DelayedStream.create (xxx/delayed-stream/lib/delayed_stream.js:33:10)
    at FormData.CombinedStream.append (xxx/combined-stream/lib/combined_stream.js:45:37)
...

我清楚地感觉到我做错了,但我有点迷失了如何实现这样的目标。

有人可以帮我吗?

我找到了这个方法的“解决方法”。

  • 首先,我得到类型为 Express.Multer.File 的文件。
  • 然后我使用 fs 的 createWriteStream 保存它。
  • 最后,我使用 createReadStream 将其传递到 FormData 对象中。

大功告成! 这不是执行此操作的最佳方法,但也是一种解决方法。