上传图片--华为云

一、华为云的使用

1.获取访问秘钥

(1).登录华为云--控制台--我的凭证

(2).访问秘钥--新增访问密钥--下载密钥

        

(3).获取AK和SK

2.创建桶

(1).创建资源

(2).创建项目

二、代码实现

1.导入依赖

 <!--华为云obs-->
    <dependency>
       <groupId>com.huaweicloud</groupId>
        <artifactId>esdk-obs-java-bundle</artifactId>
        <version>3.21.11</version>
    </dependency>

2.配置OBS

3.上传文件配置类(FileUploadConfig.java)



@Data
@Component
@ConfigurationProperties(prefix = "huaweicloud.obs")
public class FileUploadConfig {
    private String accessKey;
    private String secretKey;
    private String endPoint;
    private String bucketName;
    private String path;

    @Bean
    public ObsClient getInstance(){
        return new ObsClient(accessKey,secretKey,endPoint);
    }
}

(4).上传工具类

/**
 * 文件上传
 */
@Component
public class FileUploadUtils {
    @Autowired
   public static R fileUpload(MultipartFile file, FileUploadConfig config){
       ObsClient obsClient = config.getInstance();
       PutObjectResult result=null;
       String fileName = file.getOriginalFilename();
       fileName = UUID.randomUUID() + fileName.substring(fileName.lastIndexOf("."));
       try {
           result = obsClient.putObject(config.getBucketName(), fileName,                 
           file.getInputStream());
           // 使用预定义访问策略设置对象的访问权限为公共读
           obsClient.setObjectAcl(config.getBucketName(), fileName,     
           AccessControlList.REST_CANNED_PUBLIC_READ);
       } catch (IOException e) {
           return R.fail();
       }finally {
           if (obsClient != null){
               try {
                   obsClient.close();
               } catch (IOException e) {
                   return R.fail();
               }
           }
       }
       return R.result(0,"上传成功",result);
   }
}

(5).控制器

@PostMapping("upload")
public R upload(MultipartFile file){
return FileUploadUtils.fileUpload(file, config);
}

三、总结

该方式可用于图片上传功能,将上传的图片传送到华为桶,目的是节省存储空间,便于查看,同时也可不断紧跟时代潮流,更新自我技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值