java - 通过Post发送BLOB到Java后端

标签 java angular

我在我的 Angular 项目中使用 recordRTC 录制了一个视频,现在我需要通过 Post 将此视频发送到我的后端 Java 应用程序。

这是我的 Angular 代码:

mediaRecorder.onstop = (ev) = > {
    let blob = new Blob(chunks, {
        'type': 'video/mp4;'
    });
    chunks = [];
    let videoURL = window.URL.createObjectURL(blob);
    vidSave.src = videoURL;
    var file = new File([blob], 'video.mp4', {
        type: 'video/mp4'
    });
}

您可以看到我已经准备好发送 blob,请问现在如何通过邮寄发送它?格式是什么?

@PostMapping("/recieveAndParseVideo")
public void recieveAndParseVideo( //WHATS the parameter here? form-input? string? blob?) {
    // HOW I RECIEVE THE BLOB HERE?
}

最佳答案

发送文件的最佳方式是使用 formData,因此在 Angular 中使用

formData = new FormData();
this.formData.append('file', blob);

postMyBlob(formData: any) {
    return this.http.post(`${AppUtils.REST_API_SERVER}/upload-file`, formData);
  }

然后在你的背后

   @RequestMapping(value = "/upload-file", method = RequestMethod.POST)
   public ResponseEntity<Void> getUploadFile(@RequestParam("file") MultipartFile file) {
            LOGGER.debug(String.valueOf(file));
    }

关于java - 通过Post发送BLOB到Java后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60376813/

相关文章:

java - JRebel可以单独重新部署一个jar来进行maven依赖更新而不是整个耳朵

angular - 如何在 compodoc 中为 angular 禁用暗模式?

java - Minecraft Forge - 通过 setBlockState 放置时方 block 消失

java - 通过谓词划分集合的库方法

javascript - Angular2 @ViewChild 没有从 ng2-charts 中获取 BaseChartDirective

angular - ng2-translate - 翻译字符串未在具有 OnPush 更改检测的组件中更新

css - 将 CSS 类应用于组件的子元素

javascript - lodash 构造函数的正确导入是什么?

java - 如何使用 iText 获取 Pdf 表单字段的自定义格式脚本?

java - 如何获得焦点所有者?