错误:您没有收到MultipartFile

问题描述 投票:1回答:1

我在Java中有一个REST服务,该服务必须接收MultipartFile,但它给出了一个错误,它说它不是来自angular的MultipartFile。我留下代码看是否有人知道问题出在哪里...

角度8:

sendFile(data: File): Observable<any>{
   const headers = new HttpHeaders().set('Content-Type', 'text/html; charset=utf-8');
   return this.http.post('http://localhost:8080/v1/on/file', data,{headers,responseType: 'text'})
    .pipe(
      tap(_ => this.log('send file')),
      catchError(this.handleError('not send file', []))
    );
  }

Java:

@RequestMapping("/file")
public MultipartFile filev1(
    @RequestParam("file") MultipartFile file){ 
    service.filereturn(file);
    return file;

}
angular spring-boot rest multipart
1个回答
0
投票

您必须将其作为FormData传递,并且不需要在请求标头中指定Content-Type:

例如:

sendFile(data: File): Observable<any>{
   var _formData = new FormData();
   _formData.append('file', data);

   return this.http.post('http://localhost:8080/v1/on/file', _formData, { headers, responseType: 'text'})
    .pipe(
      tap(_ => this.log('send file')),
      catchError(this.handleError('not send file', []))
    );
}
© www.soinside.com 2019 - 2024. All rights reserved.