阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供最高可达 99.995 % 的服务可用性。多种存储类型供选择,全面优化存储成本。
视频介绍
创建bucket
开发文档
上传文件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 容器
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alicloud-oss</artifactId>
        </dependency>将配置数据放在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的使用可以改进为

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




















