From 572b13a0b3cbe1c20856c43bf1f2c784cea93a91 Mon Sep 17 00:00:00 2001 From: lichen782 Date: Tue, 10 Sep 2019 14:55:51 +0800 Subject: [PATCH] Refactor the OssController upload2 to use try with clause --- .../alibaba/cloud/examples/OssController.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssController.java b/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssController.java index 30d51c72..7dc364cb 100644 --- a/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssController.java +++ b/spring-cloud-alibaba-examples/oss-example/src/main/java/com/alibaba/cloud/examples/OssController.java @@ -1,6 +1,5 @@ package com.alibaba.cloud.examples; -import com.alibaba.alicloud.oss.resource.OssStorageResource; import com.aliyun.oss.OSS; import com.aliyun.oss.common.utils.IOUtils; import com.aliyun.oss.model.OSSObject; @@ -8,6 +7,7 @@ import org.apache.commons.codec.CharEncoding; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; +import org.springframework.core.io.WritableResource; import org.springframework.util.StreamUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -74,15 +74,14 @@ public class OssController { @GetMapping("/upload2") public String uploadWithOutputStream() { - OssStorageResource ossStorageResource = new OssStorageResource(this.ossClient, - "oss://" + OssApplication.BUCKET_NAME + "/oss-test.json", true); try { - InputStream inputStream = localFile.getInputStream(); - OutputStream outputStream = ossStorageResource.getOutputStream(); - StreamUtils.copy(inputStream, outputStream); - inputStream.close(); - outputStream.close(); - } catch (Exception ex) { + try (OutputStream outputStream = ((WritableResource) this.remoteFile) + .getOutputStream(); + InputStream inputStream = localFile.getInputStream()) { + StreamUtils.copy(inputStream, outputStream); + } + } + catch (Exception ex) { ex.printStackTrace(); return "upload with outputStream failed"; }