java代码操作阿里云oss

java代码操作阿里云oss
  1. 创建操作阿里云oss许可证(阿里云颁发的id和密钥)
  2. 创建AccessKey ,得到ID和密钥(用完之后,禁用)
  3. 阿里云官网有学习路径->开发者资源->Java SDK
    在这里插入图片描述
创建service_oss模块
  1. 引入相关依赖

    <dependencies>
            <!--阿里云oss依赖-->
            <dependency>
                <groupId>com.aliyun.oss</groupId>
                <artifactId>aliyun-sdk-oss</artifactId>
            </dependency>
            <!-- 日期工具栏依赖-->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
            </dependency>
        </dependencies>
    
  2. 配置文件

    # 服务端口
    server.port=8002
    # 服务名
    spring.application.name=service-oss
    # 环境设置:dev、test、prod
    spring.profiles.active=dev
    
    #阿里云 OSS
    #不同服务器地址不同
    aliyun.oss.file.endpoint=oss-cn-nanjing.aliyuncs.com
    aliyun.oss.file.keyid=LTAI5t8gjeQRLee
    aliyun.oss.file.keysecret=CHNY08RNer
    #bucket可以在控制台创建,也可以使用java代码创建
    aliyun.oss.file.bucketname=colleg1
    
    

    ​ 启动的时候,找数据库配置,但是现在模块因为不需要操作数据库,只是做上传到oss

    解决方式:

    方式一:添加上数据库配置

    方式二:在启动类中添加属性,默认不去加载数据库配置

    @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
    
    创建常量类,读取配置文件中的类;
    package com.smile.oss.utils;
    
    /**  需求:当项目已启动,spring接口,spring加载之后,执行接口一个方法  需要实现InitializingBean接口
     * @author jia
     * @date 2022/9/4
     * @description  读取配置文件中的类
     * 当项目初始化之后,先根据value注解,将值赋给变量。然后执行afterPropertiesSet()方法,达到其他类可以取到这个值
     */
    
    import org.springframework.beans.factory.InitializingBean;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    
    @Component  //交给spring管理
    public class ConstantPropertiesUtils implements InitializingBean {
        //读取配置文件内容
        /**
         * 站点
         */
        @Value("${aliyun.oss.file.endpoint}")
        public String endpoint;
        /**
         * 密钥id
         */
        @Value("${aliyun.oss.file.keyid}")
        private String keyId;
        /**
         * 密钥
         */
        @Value("${aliyun.oss.file.keysecret}")
        private String keySecret;
        /**
         * bucketName
         */
        @Value("${aliyun.oss.file.bucketname}")
        private String bucketName;
    
        /**
         * 为了其他类可以使用,定义公开静态常量
         */
        public static String END_POINT;
        public static String KEY_ID;
        public static String KEY_SECRET;
        public static String BUCKET_NAME;
    
        @Override
        public void afterPropertiesSet() throws Exception {
            END_POINT = endpoint;
            KEY_ID = keySecret;
            KEY_SECRET = keySecret;
            BUCKET_NAME = bucketName;
        }
    }
    

注意:文件名相同上传会被覆盖,所以加上当前日期在文件名中

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值