用文件将数据从Angular传递到Spring Webflux的最佳方式是什么?

用文件将数据从Angular传递到Spring Webflux的最佳方式是什么?,angular,spring-webflux,Angular,Spring Webflux,我的目标是使用SpringWebFlux从Angular获取带有文件的objectMusic,并将其保存在DB中(文件名为byte[])。在角度方面,我使用FileReader将文件转换为base64,并将其发送到Music类对象中 reader.readAsDataURL(this.fileToUpload); reader.onload = () => { array = reader.result; music.musicfile = array; this.musicS

我的目标是使用SpringWebFlux从Angular获取带有文件的object
Music
,并将其保存在DB中(文件名为
byte[]
)。在角度方面,我使用FileReader将文件转换为base64,并将其发送到Music类对象中

reader.readAsDataURL(this.fileToUpload);
reader.onload = () => {
  array = reader.result;
  music.musicfile = array;
  this.musicService.saveMusic(music).subscribe(data => console.log(data));
};
服务台

saveMusic(music: Music): Observable<any> {
return this.http.post<Music>(`${this.baseUrl}` + 'addMusic', music);
  }
saveMusic(音乐:音乐):可观察{
返回this.http.post(`this.baseUrl}`+'addMusic',music);
}
在后端,我解码文件并将其保存在DB中,如下所示:

  @PostMapping("/music/addMusic")
public Mono<Music> addMusicGet(@RequestBody MusicGet musicGet){
    Music music = new Music(musicGet);
    musicService.decode64Music(music,musicGet.getMusicfile());
    return  musicService.addMusic(music);
   }

public void decode64Music(Music music, String url) {
    music.setMusicfile(Base64.getMimeDecoder().decode(url));
 }
@PostMapping(“/music/addMusic”)
公共Mono addMusicGet(@RequestBody MusicGet MusicGet){
音乐=新音乐(musicGet);
musicService.Decode64音乐(music,musicGet.getMusicfile());
返回音乐服务。添加音乐(音乐);
}
公共音乐(音乐、字符串url){
setMusicfile(Base64.getMimeDecoder().decode(url));
}
上面的代码可以工作,但我怀疑这是一个好的解决方案。 有没有处理这个问题的标准方法?我以前也尝试过在Angular中使用formData,但控制台只显示了uknown http错误响应