Recieving上传从客户端文件,休息
问题描述:
我发送给后端文件,这是下面的代码上传:Recieving上传从客户端文件,休息
export class FileUploadComponent {
@Input() multiple: boolean = false;
@ViewChild('fileInput') inputEl: ElementRef;
constructor(private http: Http) {}
upload() {
let inputEl: HTMLInputElement = this.inputEl.nativeElement;
let fileCount: number = inputEl.files.length;
let formData = new FormData();
if (fileCount > 0) { // a file was selected
for (let i = 0; i < fileCount; i++) {
formData.append('file[]', inputEl.files.item(i));
}
this.http
.post('http://localhost:8080/upload', formData).toPromise().then(() => console.log('success')).catch(() => console.log('error'));
}
}
}
现在
上,我想通过控制器来接受她的backendside,但我不知道如何映射文件属性,以下给出null:
public @ResponseBody String handleFileUpload(@RequestBody MultipartFile file)
答
您的方法签名不正确。
@RequestBody注释参数映射到HTTP请求主体。
@RequestParam注解参数映射到特定的Servlet请求参数。
使用以下命令:
public @ResponseBody String handleFileUpload(@RequestParam MultipartFile file)
如果要发送多个,然后使用数组:
public @ResponseBody String handleFileUpload(@RequestParam MultipartFile[[] file)
[AngularJS FORMDATA文件上传数组(可能的重复https://stackoverflow.com/问题/ 33920248/angularjs-FORMDATA文件阵列上传) –