使用spring boot hibernate

时间:2017-12-02 10:47:27

标签: spring rest spring-boot spring-data-jpa

我需要在数据库中上传文件,这是我试过的

域:

    @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”}

我做错了什么?请帮忙 。在这里,我必须将文件上传到数据库。数据信息包含带附件的信息。

1 个答案:

答案 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