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) 
+0

[AngularJS FORMDATA文件上传数组(可能的重复https://*.com/问题/ 33920248/angularjs-FORMDATA文件阵列上传) –

您的方法签名不正确。

@RequestBody注释参数映射到HTTP请求主体。

@RequestParam注解参数映射到特定的Servlet请求参数。

使用以下命令:

public @ResponseBody String handleFileUpload(@RequestParam MultipartFile file) 

如果要发送多个,然后使用数组:

public @ResponseBody String handleFileUpload(@RequestParam MultipartFile[[] file)