首页 > 解决方案 > 错误:所需的请求部分“excelFile”不存在。尝试将 excel 文件从 Angular 应用程序上传到 Spring Boot Server 时

问题描述

我有一个 Spring Boot 控制器端点->

@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity uploadExcel(@RequestParam("excelFile") MultipartFile file) 

我正在尝试使用以下代码将 excel 文件从我的 Angular 应用程序发送到此 Spring Boot 服务器:

export class ImportDataService {

private url = 'http://localhost:8090/admin/excel/upload';

constructor(private http: HttpClient) { }

  importData(file: File): Observable<any>{
      let formData: FormData = new FormData();
      formData.append('excelFile', file);
      console.log(JSON.stringify(formData));
      return this.http.post<FormData>(this.url, formData);
  }

}

但是,我在控制台上收到 400 Bad Request Error,在 Spring Boot 控制台上,我得到:已解决 [org.springframework.web.multipart.support.MissingServletRequestPartException:所需的请求部分“excelFile”不存在]

在上面的代码中可以看到,我尝试console.log()获取formData对象的值,结果是{},为什么会这样呢?

此外,当我通过我的 Spring Boot 应用程序的 swagger openApi-3 页面上传 Excel 时,它的上传效果非常好。该错误仅在我尝试通过我的 Angular 应用程序上传 excel 时发生。

标签: angularspring-bootrestmultipartform-datamultipart

解决方案


推荐阅读