You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular上传大图片报错Postman正常问题排查与解决

问题:Angular上传大于1MB图片到Spring Boot后端触发java.io.EOFException

现象

  • Angular上传大于1MB的图片(如5MB PNG文件)到Spring Boot后端时,后端抛出java.io.EOFException
  • Postman执行相同请求可正常完成,小于1MB的图片Angular上传无异常

相关代码

Spring Boot POST控制器

@PostMapping("/post")
public void postPicture(@RequestPart("pictureDetails") PictureDetailsDto picturePostDto,
                        @RequestPart("inpFile") MultipartFile image,
                        HttpServletRequest request) {
    pictureService.postPicture(picturePostDto, image, request);
}

Angular上传函数

postPicture(picturePostDto: PicturePostDto, pictureImage: File | null) {
    const formData = new FormData();
    const picturePart = new Blob([JSON.stringify(picturePostDto)], {
      type: 'application/json',
    });
    formData.append('pictureDetails', picturePart);
    if (pictureImage != null) {
      formData.append('inpFile', pictureImage)
    }
    const options = {
      withCredentials: true,
    };
    return this.http.post<any>(`${this.apiUrl}/picture/post`, formData, options);
}

异常信息

后端异常栈核心为java.io.EOFException相关调用链。

排查结果与解决方案

最终定位问题根源:调用上传API的组件函数中存在window.location.reload();语句——该语句会在大文件上传请求完成前强制刷新页面,导致请求被中途取消,后端因未接收到完整的请求体抛出EOFException。

解决方法:注释或移除该window.location.reload();语句,确保上传请求能完整执行完毕。

内容的提问来源于stack exchange,提问作者Davido

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 16:32:03