Java七牛云上传

项目中上传文件一直都习惯用阿里云OSS,这次更改为七牛云,记录下接入。
首先要申请七牛云的账号及秘钥等。登录七牛云管理后台,配置获取如下内容:
1、新建空间
在这里插入图片描述

七牛云的是分华东、华北等存储区域的,选择区域和访问控制(私有的访问需密钥,根据业务需求选择)。

2、配置域名
域名配置可参考帮助

3、获取密钥
在这里插入图片描述
在个人中心的密钥管理里获取AK和SK。
至此,七牛云接入的前期准备工作就已就绪了。接下来是java开发。

1、引入SDK
pom.xml添加七牛云的sdk依赖

	<dependency>
    	<groupId>com.qiniu</groupId>
    	<artifactId>qiniu-java-sdk</artifactId>
    	<version>7.2.27</version>
    </dependency>

2、配置七牛云参数
所需配置都是之前准备的,在application.yml中配置

*:
  **:
    ***:
      domain: 配置的域名
      bucket: 新建的空间名
      accessKey: 密钥AK
      secretKey: 密钥SK

3、配置参数类
QiniuProperties,获取application.yml中的配置

@Data
@Component
@ConfigurationProperties(prefix = "*.**.***")
public class QiniuProperties {

    /**
     * 域名
     */
    private String domain;

    /**
     * 存储空间名
     */
    private String bucket;

    /**
     * AccessKey
     */
    private String accessKey;

    /**
     * SecretKey
     */
    private String secretKey;
}

4、注入bean

@Configuration
public class QiniuOSSConfig {

    @Autowired
    private QiniuProperties qiniuProperties;

    /**
     * 自动区域
     */
    @Bean
    public com.qiniu.storage.Configuration qiniuConfig() {
        return new com.qiniu.storage.Configuration(Region.autoRegion());
    }

    /**
     * 构建一个七牛上传工具实例
     */
    @Bean
    public UploadManager uploadManager() {
        return new UploadManager(qiniuConfig());
    }

    /**
     * 认证信息实例
     *
     * @return
     */
    @Bean
    public Auth auth() {
        return Auth.create(qiniuProperties.getAccessKey(), qiniuProperties.getSecretKey());
    }

    /**
     * 构建七牛空间管理实例
     */
    @Bean
    public BucketManager bucketManager() {
        return new BucketManager(auth(), qiniuConfig());
    }
}

这里注意,Region.autoRegion()是根据空间名自动适配七牛云区域,这里也可以手动设置。对应区域如下:
在这里插入图片描述
5、上传文件
到这里就已经差不多了,可以调用七牛云接口开始上传、删除等操作。上传操作如下:

    @Autowired
    private UploadManager uploadManager;
    @Autowired
    private Auth auth;
    @Autowired
    private QiniuProperties qiniuProperties;
    
    private void uploadFile(byte[] data, String fileName) throws Exception {
        try {
            // 调用put方法上传
            Response response = uploadManager.put(data, fileName, auth.uploadToken(qiniuProperties.getBucket()));
            log.debug("七牛云文件上传:{}", response.bodyString());
        } catch (QiniuException e) {
            log.error("七牛云上传文件异常:{}", e.getMessage(), e);
        }
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值