接收客户端上传的文件,休息
Receiving uploaded file from client , rest
我正在向后端发送一个文件,这是上传代码:
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'));
}
}
}
现在在后端我想通过控制器接收它,但我不知道如何映射文件 属性,下面给出了空值:
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)
我正在向后端发送一个文件,这是上传代码:
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'));
}
}
}
现在在后端我想通过控制器接收它,但我不知道如何映射文件 属性,下面给出了空值:
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)