415不支持的媒体键入http.post Angular请求

时间:2019-02-15 11:02:23

标签: angular grails

我想将http.post(角度6)请求发送到我的Grails 2.4.2后端。 我在stackoverflow中搜索了许多解决方案,但没有任何效果。所以我要回答大家。

当前情况:

我正在将我的.zip检索到一个dropzone(在npm中可用ngx-dropzone)。我想将一个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帖子请求:

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

}

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

有人有主意吗?

1 个答案:

答案 0 :(得分:0)

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