From c45870eff5c54a2c61bcf20195fb140d8f864371 Mon Sep 17 00:00:00 2001 From: zhou-hao Date: Fri, 13 Mar 2020 10:01:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=A4=A7=E6=96=87=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/excel/DefaultImportExportService.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/excel/DefaultImportExportService.java b/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/excel/DefaultImportExportService.java index 474d291a..06bdb37a 100644 --- a/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/excel/DefaultImportExportService.java +++ b/jetlinks-components/io-component/src/main/java/org/jetlinks/community/io/excel/DefaultImportExportService.java @@ -18,10 +18,15 @@ import java.io.InputStream; @Component public class DefaultImportExportService implements ImportExportService { + private final WebClient.Builder builder; + + public DefaultImportExportService(WebClient.Builder builder) { + this.builder = builder; + } public Flux> doImport(Class clazz, String fileUrl) { return getInputStream(fileUrl) - .flatMapMany(inputStream -> ExcelReadDataListener.of(inputStream, clazz)); + .flatMapMany(inputStream -> ExcelReadDataListener.of(inputStream, clazz)); } @Override @@ -31,16 +36,17 @@ public class DefaultImportExportService implements ImportExportService { public Mono getInputStream(String fileUrl) { - return Mono.defer(()->{ + return Mono.defer(() -> { if (fileUrl.startsWith("http")) { - return WebClient.create().get() + return builder.build() + .get() .uri(fileUrl) .accept(MediaType.APPLICATION_OCTET_STREAM) .exchange() .flatMap(clientResponse -> clientResponse.bodyToMono(Resource.class)) .flatMap(resource -> Mono.fromCallable(resource::getInputStream)); } else { - return Mono.fromCallable(()->new FileInputStream(fileUrl)); + return Mono.fromCallable(() -> new FileInputStream(fileUrl)); } });