如何从Angular发布multipart/form-data到Nodejs Multer?

PAR*_*HAN 7 multipartform-data node.js multer angular

从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);
Run Code Online (Sandbox Code Playgroud)

的NodeJS:

router.post('/upload-banner-image', bannerImageUpload.single('banner'), watchfaceController.uploadWatchfaceBannerImage);
Run Code Online (Sandbox Code Playgroud)

ber*_*ndg 9

删除你的'Content-Type': 'multipart/form-data'标题,它应该工作.

我得到了同样的错误,这是因为像以下工作请求boundary=..之后的缺失multipart/form-data: 在此输入图像描述

当您删除标题时,浏览器会自动添加它boundary=..并且它可以正常工作.