From c6627cf2a48ee321194622460d8e76727840cb3c Mon Sep 17 00:00:00 2001 From: "chenzhu.zxl" Date: Mon, 29 Oct 2018 10:04:28 +0800 Subject: [PATCH] rename OssApplication and OssController. --- .gitignore | 1 + .../cloud/examples/OssApplication.java | 49 ++++++++++++++ .../alibaba/cloud/examples/OssController.java | 65 +++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OssApplication.java create mode 100644 spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OssController.java diff --git a/.gitignore b/.gitignore index e4b662ae1..e02b722f5 100644 --- a/.gitignore +++ b/.gitignore @@ -28,4 +28,5 @@ hs_err_pid* .project .settings target +.DS_Store diff --git a/spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OssApplication.java b/spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OssApplication.java new file mode 100644 index 000000000..f9265800d --- /dev/null +++ b/spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OssApplication.java @@ -0,0 +1,49 @@ +package org.springframework.cloud.alibaba.cloud.examples; + +import com.aliyun.oss.OSS; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; + +import java.net.URISyntaxException; + +/** + * OSS Application + * + * @author Jim + */ +@SpringBootApplication +public class OssApplication { + + public static final String BUCKET_NAME = "spring-cloud-alibaba-test"; + + public static void main(String[] args) throws URISyntaxException { + SpringApplication.run(OssApplication.class, args); + } + + @Bean + public AppRunner appRunner() { + return new AppRunner(); + } + + class AppRunner implements ApplicationRunner { + @Autowired + private OSS ossClient; + + @Override + public void run(ApplicationArguments args) throws Exception { + try { + if (!ossClient.doesBucketExist(BUCKET_NAME)) { + ossClient.createBucket(BUCKET_NAME); + } + } catch (Exception e) { + System.err.println("oss handle bucket error: " + e.getMessage()); + System.exit(-1); + } + } + } + +} diff --git a/spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OssController.java b/spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OssController.java new file mode 100644 index 000000000..7c6e427a9 --- /dev/null +++ b/spring-cloud-alibaba-examples/oss-example/src/main/java/org/springframework/cloud/alibaba/cloud/examples/OssController.java @@ -0,0 +1,65 @@ +package org.springframework.cloud.alibaba.cloud.examples; + +import com.aliyun.oss.OSS; +import com.aliyun.oss.common.utils.IOUtils; +import com.aliyun.oss.model.OSSObject; +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.util.StreamUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.nio.charset.Charset; + +/** + * OSS Controller + * + * @author Jim + */ +@RestController +public class OssController { + + @Autowired + private OSS ossClient; + + @Value("oss://" + OssApplication.BUCKET_NAME + "/oss-test.json") + private Resource file; + + @GetMapping("/upload") + public String upload() { + try { + ossClient.putObject(OssApplication.BUCKET_NAME, "oss-test.json", this + .getClass().getClassLoader().getResourceAsStream("oss-test.json")); + } catch (Exception e) { + e.printStackTrace(); + return "upload fail: " + e.getMessage(); + } + return "upload success"; + } + + @GetMapping("/file-resource") + public String fileResource() { + try { + return "get file resource success. content: " + StreamUtils.copyToString( + file.getInputStream(), Charset.forName(CharEncoding.UTF_8)); + } catch (Exception e) { + e.printStackTrace(); + return "get resource fail: " + e.getMessage(); + } + } + + @GetMapping("/download") + public String download() { + try { + OSSObject ossObject = ossClient.getObject(OssApplication.BUCKET_NAME, "oss-test.json"); + return "download success, content: " + IOUtils + .readStreamAsString(ossObject.getObjectContent(), CharEncoding.UTF_8); + } catch (Exception e) { + e.printStackTrace(); + return "download fail: " + e.getMessage(); + } + } + +}