Node.js 如何将多部分/表单数据从Angular发布到Nodejs Multer?

Node.js 如何将多部分/表单数据从Angular发布到Nodejs Multer?,node.js,angular,multipartform-data,multer,Node.js,Angular,Multipartform Data,Multer,从Angular开始,我想将图像作为Blob数据上传到nodeJS服务器。服务器在后端使用multer。图像文件由画布渲染生成。我从服务器收到以下错误: 错误:多部分:未找到边界状态:500 下面是我的代码。请帮我找出问题所在 角度: // blob:Blob; -> it has valid image data. var formData: FormData = new FormData(); formData.append('banner', blob, "my-file.pn

从Angular开始,我想将图像作为Blob数据上传到nodeJS服务器。服务器在后端使用multer。图像文件由画布渲染生成。我从服务器收到以下错误:

错误:多部分:未找到边界状态:500

下面是我的代码。请帮我找出问题所在

角度:

// blob:Blob;   ->  it has valid image data.
var formData: FormData = new FormData();
formData.append('banner', blob, "my-file.png")

this.http.post(url,
    formData, { headers: new Headers({ 'Content-Type': 'multipart/form-data' }) })
    .toPromise()
    .then(res => {
      console.log(res);
      return res.json();
    })
    .catch(this.handleError);
nodejs:

router.post('/upload-banner-image', bannerImageUpload.single('banner'), watchfaceController.uploadWatchfaceBannerImage);

删除
'Content-Type':'multipart/formdata'
标题,它应该可以工作

我得到了相同的错误,这是由于在
多部分/表单数据
之后缺少
边界=..
造成的,如以下工作请求:


当您删除标题时,浏览器将自动添加它,并使用
边界=…
进行操作。

添加内容类型':“文件”在标题中,并且应该可以操作

这适用于任何现代浏览器吗?或者这是Angular HttpClient的一部分?Angular自动发送contentType:multipart/form数据?是的,它可以工作,它是自动获得的。