angular - 错误:所需的请求部分“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 时发生。
解决方案
推荐阅读
- jenkins - 在 Jenkins 管道中使用的 ansible playbook 中保护 dockerhub 登录凭据
- python - qdldl 的构建轮失败(安装 cvxpy 时)
- visual-studio-code - Markdown 中的 VS Code Latex 语法
- python - Azure Durable Function 在部署到生产环境后失败 (Python)
- python-3.x - 如何根据 Pandas 的时间窗口计算聚合平均值?
- gerrit - Gerrit ls-groups -v -q 失败致命:“-q”不是有效选项
- javascript - 如何在 Promise 解决之前暂停执行
- javascript - 如何在嵌套对象数组上添加属性并编辑原始数组?
- swift - 启动黑屏出现:Mac OS 应用程序
- javascript - 第三方可以读取 cookie 吗?