Spring Boot + Angular文件上传无法两次上传同一文件

时间:2019-01-31 14:13:57

标签: java angular spring spring-boot

Chrome中的网络下的错误

import subprocess
subprocess.call(["pip", "freeze", ">", "requirements.txt"])

Spring Boot Controller.java文件

{ timeStamp: ......, status: 400
  error: 'Bad Request',
  message: 'Required request part 'file' is not present'
  path: 'url as hosted on Tomcat'
}

我的Angular组件

@PostMapping("/Post")
public ResponseEntity<String> handleFileUpload(@RequestParam("file") 
MultipartFile file){ String Message=""; try .......(and so on)}

Component.ts文件

<form [formGroup]="uploadForm" (ngSubmit) = "onSubmit()">
<input type="file" id="selectFile" formControlName="file1" name="selectFile"
(change)="fileEvent($event)"/>

<input type="submit" name="Submit"/>
</form>

我在哪里弄错了?

2 个答案:

答案 0 :(得分:4)

此:

formData.append("selectFile", this.data);

对此:

formData.append("file", this.data);

原因

public ResponseEntity<String> handleFileUpload(@RequestParam("file") 

答案 1 :(得分:1)

控制器中的

Param注释会查找一个名为 file 的字段。

selectFile 更改为 file 将解决此问题。

formData.append("file", this.data);

参数名称很重要,在JavaAngular中都必须相同