@Operation(summary = "附件上传", description = "上传完毕之后返回附件base64编码")
    @ResponseBody
    @PostMapping(value = "upload/base64", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public Response<String> uploadBase64(@RequestPart @RequestParam("file") MultipartFile file,
                                         HttpServletRequest request) throws IOException {

        Locale locale = request.getLocale();
        if (file != null) {
            return new Response<>(HttpStatus.OK.value(), "上传完毕", Base64.encodeBase64String(file.getBytes()));
        } else {
            return new Response<>(messageSource.getMessage("file.upload.not.file", null, locale));
        }
    }

主要是 consumes = MediaType.MULTIPART_FORM_DATA_VALUE 必须

使用这个形容字段 @RequestPart 不适用其他的

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐