415 Unsupported media Type in http.post Angular 请求

415 Unsupported media Type in http.post Angular request

我想向我的 Grails 2.4.2 后端发送一个 http.post (Angular 6) 请求。 我在 Whosebug 中搜索了很多解决方案,但没有任何效果。所以一一回复大家。

现状:

我正在将我的 .zip 检索到 dropzone(npm 中可用的 ngx-dropzone)。我想从我的 angular 前端发送一个 zip 到我的 grails 后端。我有一个正在检索我的数据的资源 Grails。

@Path('/api/newmodele')

class NewModeleResource {

    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    Response newmodele(){
        CommonsMultipartFile downloadedFile = request.getFile('document')
        return Response.ok("toto" as JSON).build()
   }
}

我有我的 Angular post 请求:

onFilesDropped(myzipConfig: File) {
  let formData = new FormData();
  formData.append('file[]',myzipConfig[0]);
  this.http
      .post(this.backendPOST, formData).subscribe(results=>{
      console.log(results)
  })

}

我有一个错误提示:415 不支持的媒体类型。

有人有想法吗?

//pass httpOptions to the function

const httpOptions = {
  headers: new HttpHeaders({'Content-Type': 'application/json'})
}

this.http
      .post(this.backendPOST, formData, httpOptions).subscribe(results=>{
      console.log(results)
})