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

标签 node.js angular multipartform-data multer

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

Error: Multipart: Boundary not found status:500

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

Angular :

// 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);

Node :

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

最佳答案

删除您的 'Content-Type': 'multipart/form-data' header ,它应该可以工作。

我遇到了同样的错误,这是由于 multipart/form-data 之后缺少 boundary=.. 造成的,如下工作请求: enter image description here

当您删除 header 时,浏览器会使用 boundary=.. 自动添加它并且它会起作用。

关于node.js - 如何将多部分/表单数据从 Angular 发布到 Nodejs Multer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43871287/

相关文章:

http - 这是一个格式正确的多部分/表单数据请求吗?

ios - 使用 JSON 中的 NSData 上传多部分图像(HTTP 正文)

javascript - 使用 JSON.parse 重命名 JSON 字段

node.js - MEAN堆栈应用-通过userId查询

css - Angular 7 Material 数据表列宽和对齐方式

javascript - 将数组转换为 Observable<T[]> 的类型

Angular 6 应用程序生产构建成功,但加载时抛出错误“找不到 t 的组件工厂”

node.js - 从 zip 安装 Teams Bot 应用程序时,不会触发 onMembersAdded 事件

javascript - AngularJS $resource 'GET' 访问正确的 API,但 'PUT' 和 'POST' 不访问

php - HTTP Post 将多个文件从 iOS 上传到 PHP