Node.js 从nodejs中的文件对象创建表单数据

Node.js 从nodejs中的文件对象创建表单数据,node.js,axios,multipartform-data,form-data,Node.js,Axios,Multipartform Data,Form Data,我想在节点端调用第三方API(上传图像),该节点端需要在键文件上键入对象 前端是成角度的,因此流量是 .ts const _file: File = __userAvatar.files[0]; const _userAvatarInfo = { userId: this.user.id, avatar: _file }; this.userService.updateUserAvatar(_userAvatarInfo).subscribe( const _formD

我想在节点端调用第三方API(上传图像),该节点端需要在键
文件
上键入对象

前端是成角度的,因此流量是

.ts

const _file: File = __userAvatar.files[0];
const _userAvatarInfo = { userId: this.user.id, avatar: _file };
            this.userService.updateUserAvatar(_userAvatarInfo).subscribe(
const _formData = new FormData();
_formData.append("avatar", _userAvatarInfo.avatar);
_formData.append("userId", _userAvatarInfo.userId);

return this.http.post(`${this.context}/userservice/user/updateuseravatar`, _formData);
UserService.ts

const _file: File = __userAvatar.files[0];
const _userAvatarInfo = { userId: this.user.id, avatar: _file };
            this.userService.updateUserAvatar(_userAvatarInfo).subscribe(
const _formData = new FormData();
_formData.append("avatar", _userAvatarInfo.avatar);
_formData.append("userId", _userAvatarInfo.userId);

return this.http.post(`${this.context}/userservice/user/updateuseravatar`, _formData);
使用giuseppe的节点API层

@Post("/user/updateuseravatar")
updateUserAvatar(@Req() req: any): Promise<any> {
      return TrusteeFacade.uploadResource({ resourceId: "some_id", resource: req.files.avatar });
}

\uuu resourceInfo
在facade层有正确的信息,但是从中创建
FormData
是错误的原因?

这是我在facade层处理的方式,而不是这个

_resourceData.append("file", __resourceInfo.resource);
我使用
Buffer.from

_resourceData.append("file", Buffer.from(__resourceInfo.resource.data), { filename: __resourceInfo.resource.name });

可能还有其他解决方案,但这解决了我的问题。

这是我在facade层处理这个问题的方式,而不是这个

_resourceData.append("file", __resourceInfo.resource);
我使用
Buffer.from

_resourceData.append("file", Buffer.from(__resourceInfo.resource.data), { filename: __resourceInfo.resource.name });
可能还有另一个解决方案,但这解决了我的问题