【问题标题】:Uploading file to database using spring boot hibernate使用spring boot hibernate将文件上传到数据库
【发布时间】:2018-05-16 08:46:49
【问题描述】:

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

域名:

    @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);
    }

这是邮递员的回复

{ “时间戳”:1512210715164, “状态”:415, "error": "不支持的媒体类型", “异常”:“org.springframework.web.HttpMediaTypeNotSupportedException”, "message": "不支持内容类型 'application/x-www-form-urlencoded'", “路径”:“/api/uploadData”}

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

【问题讨论】:

  • 不,我有一个域,网络客户端应该发送包含附件作为有效负载的数据信息
  • 您的映射设置为consumes = "application/json"。您正在发送application/x-www-form-urlencoded。控制器正在返回异常。你到底在发布什么?如果没有更多信息,对 davioooh 的重复标志的接受答案将是适当的。
  • 请输入您收到的客户端代码或payload。

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


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 2013-06-06
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多