• 物联网架构成长之路(18)-接阿里云OSS服务


    1.申请/购买OSS服务

      在阿里云上申请/购买OSS服务, 然后在会得AccessKeyID,AccessKeySecret,bucketName 这三个东西

    2.增删改查

      在pom.xml文件上增加

    1 <!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss -->
    2 <dependency>
    3     <groupId>com.aliyun.oss</groupId>
    4     <artifactId>aliyun-sdk-oss</artifactId>
    5     <version>3.0.0</version>
    6 </dependency>

      上传/下载代码

     1 public class OSSUploadFile {
     2     public static String endpoint = "http://oss-cn-shenzhen.aliyuncs.com";
     3     public static String accessKeyId = "L*****************";
     4     public static String accessKeySecret = "4********************c";
     5     public static String bucketName = "io****e";
     6     
     7     /**
     8      * 上传文件到阿里云OSS
     9      * @param file 本地文件对象
    10      * @param key oss对于url
    11      * @return
    12      */
    13     public static boolean uploadFile(File file, String key) {
    14         OSS client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    15         try {
    16             client.putObject(new PutObjectRequest(bucketName, key, file));
    17             client.setObjectAcl(bucketName, key, CannedAccessControlList.PublicRead);
    18             client.setObjectAcl(bucketName, key, CannedAccessControlList.Default);
    19             return true;
    20         } catch (Exception e) {
    21             e.printStackTrace();
    22         }
    23         return false;
    24     }
    25     /**
    26      * 删除阿里云OSS上文件
    27      * @param key
    28      * @return
    29      */
    30     public static boolean deleteFile(String key) {
    31         try {
    32             OSS client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    33             boolean exists = client.doesObjectExist(bucketName, key);
    34             if(exists) {
    35                 client.deleteObject(bucketName, key);           
    36             }
    37             return true;
    38         } catch (Exception e) {
    39             e.printStackTrace();
    40         }
    41         return false;
    42     }
    43 }

      上传完文件后,可以通过以下连接进行访问

      http://bucketName.oss-cn-shenzhen.aliyuncs.com/demo.txt

      其中 bucketName 是需要自己申请的, 后面的demo.txt 文件名是在上传文件是指定的key

      同时支持HTTPS

      如果访问的文件(Key)不存在

    3.文件上传/下载流程

      对应到公司实际项目上

     

     

  • 相关阅读:
    管理 node 版本,选择 nvm 还是 n?
    JDBC性能优化方案
    JDBC基础-setFetchSize方法
    JDBC的fetchsize和maxrows
    正确使用MySQL JDBC setFetchSize()方法解决JDBC处理大结果
    10种简单的Java性能优化
    35+ 个 Java 代码性能优化总结
    一线架构师带你玩性能优化
    诊断Java代码中常见的数据库性能热点问题应该这么做!
    十个 JDBC 的最佳实践
  • 原文地址:https://www.cnblogs.com/wunaozai/p/8432455.html
Copyright © 2020-2023  润新知