我需要在数据库中上传文件,这是我试过的
域:
@NotNull
@Lob
@Column(name = "data", nullable = false)
private byte[] uploadData;
控制器:
@PostMapping(value = "/uploadData" , consumes = "application/json")
public ResponseEntity< DataInfo > uploaddata(@Valid @RequestBody DataInfo dataInfo){
DataInfo uploadData = dataR.save(dataInfo);
return new ResponseEntity("OK",HttpStatus.CREATED);
}
这是邮递员回复
{ “timestamp”:1512210715164, “地位”:415, “错误”:“不支持的媒体类型”, “exception”:“org.springframework.web.HttpMediaTypeNotSupportedException”, “message”:“内容类型'应用程序/ x-www-form-urlencoded'不支持”, “path”:“/ api / uploadData”}
我做错了什么?请帮忙 。在这里,我必须将文件上传到数据库。数据信息包含带附件的信息。
答案 0 :(得分:1)
当您尝试从客户端发送时,文件必须作为多部分数据处理。 (您可以在这里参考以了解有关Multipart请求的更多信息here)
@RequestMapping(value = "/upload", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<Document> UploadFile( @RequestParam("file") MultipartFile file) {
// Upload Logic
}
此外,您可以在服务属性中指定文件大小,如下所示:
http:
multipart:
max-file-size: 10mb
max-request-size: 12mb