Java 类org.springframework.http.codec.multipart.FilePart 实例源码

项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageServiceTests.java   
@Test
public void createImageShouldWork() {
    // given
    Image alphaImage = new Image("1", "alpha.jpg");
    Image bravoImage = new Image("2", "bravo.jpg");
    given(repository.save(new Image(any(), alphaImage.getName()))).willReturn(Mono.just(alphaImage));
    given(repository.save(new Image(any(), bravoImage.getName()))).willReturn(Mono.just(bravoImage));
    given(repository.findAll()).willReturn(Flux.just(alphaImage, bravoImage));
    FilePart file1 = mock(FilePart.class);
    given(file1.filename()).willReturn(alphaImage.getName());
    given(file1.transferTo(any())).willReturn(Mono.empty());
    FilePart file2 = mock(FilePart.class);
    given(file2.filename()).willReturn(bravoImage.getName());
    given(file2.transferTo(any())).willReturn(Mono.empty());

    // when
    Mono<Void> done = imageService.createImage(Flux.just(file1, file2));

    // then
    StepVerifier.create(done)
        .verifyComplete();
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageServiceTests.java   
@Test
public void createImageShouldWork() {
    // given
    Image alphaImage = new Image("1", "alpha.jpg");
    Image bravoImage = new Image("2", "bravo.jpg");
    given(repository.save(new Image(any(), alphaImage.getName()))).willReturn(Mono.just(alphaImage));
    given(repository.save(new Image(any(), bravoImage.getName()))).willReturn(Mono.just(bravoImage));
    given(repository.findAll()).willReturn(Flux.just(alphaImage, bravoImage));
    FilePart file1 = mock(FilePart.class);
    given(file1.filename()).willReturn(alphaImage.getName());
    given(file1.transferTo(any())).willReturn(Mono.empty());
    FilePart file2 = mock(FilePart.class);
    given(file2.filename()).willReturn(bravoImage.getName());
    given(file2.transferTo(any())).willReturn(Mono.empty());

    // when
    Mono<Void> done = imageService.createImage(Flux.just(file1, file2));

    // then
    then(done.block()).isNull();
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageServiceTests.java   
@Test
public void createImages() {
    Image alphaImage = new Image("1", "alpha.jpg");
    Image bravoImage = new Image("2", "bravo.jpg");
    FilePart file1 = mock(FilePart.class);
    given(file1.filename()).willReturn(alphaImage.getName());
    given(file1.transferTo(any())).willReturn(Mono.empty());
    FilePart file2 = mock(FilePart.class);
    given(file2.filename()).willReturn(bravoImage.getName());
    given(file2.transferTo(any())).willReturn(Mono.empty());

    List<Image> images = imageService
        .createImage(Flux.just(file1, file2))
        .then(imageService.findAllImages().collectList())
        .block(Duration.ofSeconds(30));

    assertThat(images).hasSize(5);
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy");

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ApiController.java   
@PostMapping(API_BASE_PATH + "/images")
Mono<Void> create(@RequestPart Flux<FilePart> images) {
    return images
        .map(image -> {
            log.info("We will save " + image +
                " to a Reactive database soon!");
            return image;
        })
        .then();
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy");

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ApiController.java   
@PostMapping(API_BASE_PATH + "/images")
Mono<Void> create(@RequestPart Flux<FilePart> images) {
    return images
        .map(image -> {
            log.info("We will save " + image +
                " to a Reactive database soon!");
            return image;
        })
        .then();
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:UploadController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(
        @RequestPart("file") Flux<FilePart> files,
        @AuthenticationPrincipal Principal principal) {
    return imageService.createImage(files, principal)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files,
                              Principal auth) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename(),
                    auth.getName()))
                .log("createImage-save");
            // end::metric-2[]

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy");

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:UploadController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(
    @RequestPart("file") Flux<FilePart> files,
    @AuthenticationPrincipal Principal principal) {
    return imageService.createImage(files, principal)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files,
                              Principal auth) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename(),
                    auth.getName()))
                .log("createImage-save");
            // end::metric-2[]

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(
                Paths.get(UPLOAD_ROOT, file.filename())
                    .toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy");

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ApiController.java   
@PostMapping(API_BASE_PATH + "/images")
Mono<Void> create(@RequestPart Flux<FilePart> images) {
    return images
        .map(image -> {
            log.info("We will save " + image +
                " to a Reactive database soon!");
            return image;
        })
        .then();
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()));

            Mono<Void> copyFile = Mono.just(
                Paths.get(UPLOAD_ROOT, file.filename())
                    .toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy");

            return Mono.when(saveDatabaseImage, copyFile);
        })
        .then();
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ApiController.java   
@PostMapping(API_BASE_PATH + "/images")
Mono<Void> create(@RequestPart Flux<FilePart> images) {
    return images
        .map(image -> {
            log.info("We will save " + image +
                " to a Reactive database soon!");
            return image;
        })
        .then();
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ApiController.java   
@PostMapping(API_BASE_PATH + "/images")
Mono<Void> create(@RequestPart Flux<FilePart> images) {
    Hooks.onOperatorDebug();

    return images
        .map(image -> {
            log.info("We will save " + image + " to a Reactive database soon!");
            return image;
        })
        .then();
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:ImageService.java   
public Mono<Void> createImage(Flux<FilePart> files) {
    return files
        .log("createImage-files")
        .flatMap(file -> {
            Mono<Image> saveDatabaseImage = imageRepository.save(
                new Image(
                    UUID.randomUUID().toString(),
                    file.filename()))
                .log("createImage-save");

            Mono<Void> copyFile = Mono.just(Paths.get(UPLOAD_ROOT, file.filename()).toFile())
                .log("createImage-picktarget")
                .map(destFile -> {
                    try {
                        destFile.createNewFile();
                        return destFile;
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                })
                .log("createImage-newfile")
                .flatMap(file::transferTo)
                .log("createImage-copy")
                .then(Mono.fromRunnable(() ->
                    meterRegistry
                        .summary("files.uploaded.bytes")
                        .record(Paths.get(UPLOAD_ROOT, file.filename()).toFile().length())
                ));

            return Mono.when(saveDatabaseImage, copyFile)
                .log("createImage-when");
        })
        .log("createImage-flatMap")
        .then()
        .log("createImage-done");
}
项目:spring-reactive-sample    文件:MultipartController.java   
@PostMapping(value = "", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
Mono<String> uploadSingleFile(@RequestBody Mono<FilePart> part) {

    FilePart filePart = part
        .log()
        .block();

    String name = UUID.randomUUID().toString() + "-" + filePart.name();
    String contentType = filePart.headers().getContentType().toString();
    ObjectId id = this.gridFsTemplate.store(filePart.content().blockFirst().asInputStream(), name, contentType);

    return Mono.just(id.toString());
}
项目:spring-cloud-gateway    文件:BaseWebClientTests.java   
@RequestMapping(value = "/post", consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public Mono<Map<String, Object>> postFormData(@RequestBody Mono<MultiValueMap<String, Part>> parts) {
    // StringDecoder decoder = StringDecoder.allMimeTypes(true);
    return parts.flux().flatMap(map -> Flux.fromIterable(map.values()))
            .flatMap(map -> Flux.fromIterable(map))
            .filter(part -> part instanceof FilePart)
            .reduce(new HashMap<String, Object>(), (files, part) -> {
                MediaType contentType = part.headers().getContentType();
                long contentLength = part.headers().getContentLength();
                files.put(part.name(), "data:"+contentType+";base64,"+contentLength); //TODO: get part data
                return files;
            }).map(files -> Collections.singletonMap("files", files));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:HomeController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                   Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:HomeController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                   Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:HomeController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                   Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:HomeController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                       Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:HomeController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                       Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:UploadController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                   Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:UploadController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                   Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:UploadController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                   Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:HomeController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                   Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:HomeController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                   Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}
项目:Learning-Spring-Boot-2.0-Second-Edition    文件:HomeController.java   
@PostMapping(value = BASE_PATH)
public Mono<String> createFile(@RequestPart(name = "file")
                                   Flux<FilePart> files) {
    return imageService.createImage(files)
        .then(Mono.just("redirect:/"));
}