SpringBoot整合七牛云SDK上传资源

使用的SpringBoot2.0来做七牛云上传

1、pom.xml导入七牛云sdk
  <!--七牛云-->
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>qiniu-java-sdk</artifactId>
            <version>7.2.11</version>
        </dependency>
2、application.yml文件配置需要配置的
#七牛云配置
# 七牛密钥,配上自己申请的七牛账号对应的密钥
qiniu:
  AccessKey: 
  SecretKey: 
# 七牛空间名
  Bucket: 
  zone: 
# 外链访问路径
  cdn:
    prefix: you qiniu cdn.prefix
3、建立QiniuProperties.java文件和QiniuConfig.java文件
QiniuProperties .java
package com.carelinker.astrazeneca.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;

/**
* 该文件是读取application.yml里面配置的,主要是为以后分布式中心配置做打算
 * @author liyue
 * @date 2019-04-16 14:49
 */
@Data
public class QiniuProperties {

    @Value("${qiniu.AccessKey}")
    private String ak;
    @Value("${qiniu.SecretKey}")
    private String sk;
    /**
     * 文件存储空间
     */
    @Value("${qiniu.Bucket}")
    private String bucket;
    /**
     * 文件域名
     */
    private String basePath;
    /**
     * token生效时间
     */
    private Long expires;
    /**
     * zone0()华东
     * zone1()华北
     * zone2()华南
     * zoneNa0()北美
     * zoneAs0()东南亚
     */
    @Value("${qiniu.zone}")
    private String zone;
}
QiniuConfig.java
package com.carelinker.astrazeneca.config;

import com.carelinker.astrazeneca.common.utils.QiniuUtils;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 
 * @author liyue
 * @date 2019-04-16 14:49
 */
@Configuration
public class QiniuConfig {

    @Bean
    @ConditionalOnMissingBean
    public QiniuProperties qiniuProperties() {

        return n
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现Spring Boot整合七牛云上传文件,可以按照以下步骤进行: 1.引入七牛云Java SDK 在pom.xml中引入七牛云Java SDK: ```xml <dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>[7.2.0,)</version> </dependency> ``` 2.配置七牛云参数 在application.yml或application.properties中添加七牛云的参数: ```yml qiniu: accessKey: your_access_key secretKey: your_secret_key bucket: your_bucket_name domain: your_domain_name ``` 3.编写上传文件的代码 在需要上传文件的地方编写上传文件的代码,示例代码如下: ```java @Service public class QiniuService { @Autowired private QiniuConfig qiniuConfig; /** * 上传文件到七牛云 * * @param file 文件对象 * @return 文件访问URL */ public String uploadFile(File file) throws QiniuException { // 构造一个带指定Zone对象的配置类 Configuration cfg = new Configuration(Zone.autoZone()); // ...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg); // 生成上传凭证,然后准备上传 String accessKey = qiniuConfig.getAccessKey(); String secretKey = qiniuConfig.getSecretKey(); String bucket = qiniuConfig.getBucket(); // 如果是Windows情况下,格式是 D:\\qiniu\\test.png String localFilePath = file.getAbsolutePath(); // 默认不指定key的情况下,以文件内容的hash值作为文件名 String key = null; Auth auth = Auth.create(accessKey, secretKey); String upToken = auth.uploadToken(bucket); try { Response response = uploadManager.put(localFilePath, key, upToken); // 解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); return qiniuConfig.getDomain() + "/" + putRet.key; } catch (QiniuException ex) { Response r = ex.response; System.err.println(r.toString()); try { System.err.println(r.bodyString()); } catch (QiniuException ex2) { // ignore } throw ex; } } } ``` 4.测试上传文件 在测试类中编写测试上传文件的代码,示例代码如下: ```java @RunWith(SpringRunner.class) @SpringBootTest public class QiniuServiceTest { @Autowired private QiniuService qiniuService; @Test public void testUploadFile() throws QiniuException { File file = new File("test.png"); String url = qiniuService.uploadFile(file); System.out.println(url); } } ``` 其中,test.png是要上传的文件名。运行测试类即可上传文件到七牛云,并返回文件的访问URL。 以上就是Spring Boot整合七牛云上传文件的全部步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值