knife4j icon indicating copy to clipboard operation
knife4j copied to clipboard

需要添加 FilePart 或 Flux<FilePart> 上传文件支持

Open lyzklkl opened this issue 1 year ago • 1 comments

如果使用 webflux 的话, 不能使用 List<MultipartFile>, 需要 Flux<FilePart>

    @PostMapping(value = "upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public Mono<R<List<String>>> upload(Flux<FilePart> files) {
        return files.flatMap(filePart -> obsService.upload(filePart))
                .collectList()
                .map(R::ok);
    }
image

目前是可以通过 curl 调用成功的

cd image
curl -X POST -H "Content-Type:multipart/form-data" \
     -F "[email protected]" \
     -F "[email protected]" \
     -F "[email protected]" \
     -F "[email protected]" \
     "http://127.0.0.1:8003/file/upload"

lyzklkl avatar Jan 31 '24 01:01 lyzklkl

需要贴一下openapi3的规范

xiaoymin avatar May 02 '24 08:05 xiaoymin