阿里云OSS图片存储

        阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供最高可达 99.995 % 的服务可用性。多种存储类型供选择,全面优化存储成本。

视频介绍

 创建bucket

阿里云OSS图片存储_第1张图片

开发文档

上传文件demo (微改)

package com.beijing.gulimall.order;

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.common.auth.CredentialsProvider;
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
import java.io.FileInputStream;
import java.io.InputStream;

public class uploadFile {

    public static void main(String[] args) throws Exception {


        // RAM用户的访问密钥(AccessKey ID和AccessKey Secret)。
        String accessKeyId = "";
        String accessKeySecret = "";
        // 使用代码嵌入的RAM用户的访问密钥配置访问凭证。
        CredentialsProvider credentialsProvider = new DefaultCredentialProvider(accessKeyId, accessKeySecret);

        // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
        String endpoint = "https://oss-cn-beijing.aliyuncs.com";
        // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
        // 填写Bucket名称,例如examplebucket。
        String bucketName = "gulimall-hellohai";
        // 填写Object完整路径,例如exampledir/exampleobject.txt。Object完整路径中不能包含Bucket名称。
        String objectName = "13.jpg";

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

        try {
            String content = "hello";
            //上传文件流
            InputStream inputStream = new FileInputStream("D:\\1.jpg");
            ossClient.putObject(bucketName, objectName, inputStream);
        } catch (OSSException oe) {

        } catch (ClientException ce) {

        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

对OSS进行配置封装至spring 容器

        
            com.alibaba.cloud
            spring-cloud-starter-alicloud-oss
        

 将配置数据放在application.yml中

spring:
  cloud:
    alicloud:
      access-key: LTAI
      secret-key: ISqg
      oss:
        endpoint: oss-cn-beijing.aliyuncs.com
        bucket: gulimall-hellohai

对应的java代码(简写)

@Resource
OSSClient ossClient;

ossClient.putObject(bucketName, objectName, inputStream);

以上使用的方式都是

阿里云OSS图片存储_第2张图片

项目中OSS的使用可以改进为

阿里云OSS图片存储_第3张图片

这样可以节省很多资源,不需要把文件发送到controller层,直接发送给OSS就可以

你可能感兴趣的:(gulimall,分布式,阿里云,数据库,云计算)