通过angular 5将文件对象发送到Spring Rest控制器
我试图在客户端上传一个文件,并向SpringREST控制器发送HTTPPOST请求。但当我在Rest控制器中收到文件对象时,我可以将其视为“null”。 HTML代码:通过angular 5将文件对象发送到Spring Rest控制器,spring,angular,rest,Spring,Angular,Rest,我试图在客户端上传一个文件,并向SpringREST控制器发送HTTPPOST请求。但当我在Rest控制器中收到文件对象时,我可以将其视为“null”。 HTML代码: <input type="file" id="myFile" (change) = "onFileChange($event)" #fileInput> 我的弹簧休息控制器: @RequestMapping(value="/abc", method = RequestMethod.POST, consumes =
<input type="file" id="myFile" (change) = "onFileChange($event)" #fileInput>
我的弹簧休息控制器:
@RequestMapping(value="/abc", method = RequestMethod.POST, consumes = "application/pdf")
public ResponseEntity<String> uploadFile(@RequestBody MultipartFile file) {
System.out.println("Inside Controller");
return new ResponseEntity<>("true", HttpStatus.CREATED);
}
@RequestMapping(value=“/abc”,method=RequestMethod.POST,consumes=“application/pdf”)
公共响应属性上载文件(@RequestBody MultipartFile){
System.out.println(“内部控制器”);
返回新的ResponseEntity(“true”,HttpStatus.CREATED);
}
请任何人帮我找出这个问题。根据我的说法,最简单的方法是使用FormData对象
以下是如何:
@viewChild() fileInput: ElementRef;
onFileChange(event) {
const files = this.fileInput.nativeElement.files as FileList;
const file = files.item(0);
const formData = new FormData();
formData.append('pdf', file, file.name);
this.http.post('abc', formData, {
headers: new HttpHeaders().set('content-type','application/pdf')
}).subscribe(
data => console.log(data),
err => console.log(err)
);
}
试试这个,告诉我你们在春天看到了什么 根据我的说法,最简单的方法是使用FormData对象
以下是如何:
@viewChild() fileInput: ElementRef;
onFileChange(event) {
const files = this.fileInput.nativeElement.files as FileList;
const file = files.item(0);
const formData = new FormData();
formData.append('pdf', file, file.name);
this.http.post('abc', formData, {
headers: new HttpHeaders().set('content-type','application/pdf')
}).subscribe(
data => console.log(data),
err => console.log(err)
);
}
试试这个,告诉我你们在春天看到了什么 试试下面的代码
HTML模板
<input type="file" id="myFile" (change)="onFileChange(fileInput.files)" #fileInput>
弹簧控制器
@RequestMapping(value="/abc", method = RequestMethod.POST)
public ResponseGenerator uploadFile(@RequestParam MultipartFile file) {
ResponseGenerator responseGenerator = new ResponseGenerator();
try {
if (file != null) {
System.out.println(file.getOriginalFilename());
}
return responseGenerator;
} catch (Exception e) {
logger.error("Error while updating user : ", e);
return responseGenerator;
}
}
如果您创建一个服务
,并将您的http
方法code
放入该服务
,这将是一种更好的方法。请参阅此链接,然后尝试下面的代码
HTML模板
<input type="file" id="myFile" (change)="onFileChange(fileInput.files)" #fileInput>
弹簧控制器
@RequestMapping(value="/abc", method = RequestMethod.POST)
public ResponseGenerator uploadFile(@RequestParam MultipartFile file) {
ResponseGenerator responseGenerator = new ResponseGenerator();
try {
if (file != null) {
System.out.println(file.getOriginalFilename());
}
return responseGenerator;
} catch (Exception e) {
logger.error("Error while updating user : ", e);
return responseGenerator;
}
}
如果您创建一个服务
,并将您的http
方法code
放入该服务
,这将是一种更好的方法。请参阅此链接