阿里云OSS开通搭建(傻瓜式)案例课程管理快速入门

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 阿里云OSS开通搭建(傻瓜式)案例课程管理快速入门

1.开通OSS服务

微信图片_20220530120649 - 副本.png微信图片_20220530120705 - 副本.png

微信图片_20220530120712.png

2.搭建OSS环境


2.1创建Bucket存储空间


  • 选择 Bucket列表,进行Bucket创建微信图片_20220530120845.png微信图片_20220530120851.png

微信图片_20220530121012.png

2.2创建文件夹上传图片


  • 创建文件夹微信图片_20220530121050.png
  • 上传图片
  • 微信图片_20220530121055.png

2.3RAM访问控制


  • 在头像中,点击“AccessKey管理”进行RAM设置微信图片_20220530121227.png


安全提醒,使用子用户微信图片_20220530121246.png

创建用户组:  微信图片_20220530121252.png微信图片_20220530121300.png

添加用户微信图片_20220530121434.png

添加用户到用户组微信图片_20220530121439.png

设置权限微信图片_20220530121516.png

  • 获取子用户AccessKeyId,AccessKeySecret微信图片_20220530121538.png

2.快速入门


2.1下载SDK


  • 在“常用入口”中,点击“SDK下载”微信图片_20220530121613.png
  • 点击“Java SDK”微信图片_20220530121632.png
  • 添加坐标
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.2</version>
</dependency>

2.2创建存储空间


// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
String bucketName = "<yourBucketName>";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 创建存储空间。
ossClient.createBucket(bucketName);
// 关闭OSSClient。
ossClient.shutdown(); 
  • 例如:
1.
package com.czxy;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.junit.Test;
public class TestOss {
    @Test
    public void testCreateBucket() {
        // Endpoint以杭州为例,其它Region请按实际情况填写。
        String endpoint = "oss-cn-shanghai.aliyuncs.com";
        // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
        String accessKeyId = "LTAI5t7oNGMkQJ1X8RqtLet2";
        String accessKeySecret = "这里是密码";
        String bucketName = "czxy-lt-01";
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        // 创建存储空间。
        ossClient.createBucket(bucketName);
        // 关闭OSSClient。
        ossClient.shutdown();
    }
}

微信图片_20220530121750.png

2.3上传图片


  • 参考代码位置:微信图片_20220530121824.png
  • 例如:
@Test
    public void testUpload() throws FileNotFoundException {
        // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
        String endpoint = "oss-cn-shanghai.aliyuncs.com";
        // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
        String accessKeyId = "LTAI5t7oNGMkQJ1X8RqtLet2";
        String accessKeySecret = "这是密码";
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        String path = "avatar/" + System.currentTimeMillis() + ".png";
        // 数据流
        InputStream inputStream = new FileInputStream("C:/Users/Administrator/Desktop/1/cz.png");
        // 填写Bucket名称和Object完整路径。Object完整路径中不能包含Bucket名称。
        ossClient.putObject("czxy-lt", path, inputStream);
        // 关闭OSSClient。
        ossClient.shutdown();
        // https://czxy-lt.oss-cn-shanghai.aliyuncs.com/avatar/1616253283637.png
        String url = "https://czxy-lt.oss-cn-shanghai.aliyuncs.com/" + path;
        System.out.println(url);
    }

3.课程管理


3.1需求

微信图片_20220530121922.png 

3.2前端实现


  • 添加上传组件和头像组件
        <el-form-item label="课程封面">
          <el-upload
            class="upload-demo"
            :action="updateUrl"
            :limit="1"
            :on-exceed="handleExceed"
            :on-success="avatarUploadSuccess">
            <el-button size="small" type="primary">点击上传</el-button>
            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
          </el-upload>
          <el-avatar shape="square" :size="50" :src="course.cover"></el-avatar>
        </el-form-item>

编写上传路径

data() {
    return {
        updateUrl: process.env.VUE_APP_BASE_API + '/course-service/course/avatar/upload',   //上传路径
    }
}

编写处理函数:上传成功后,显示头像

 handleExceed(files, fileList) {     //默认      this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);    },    avatarUploadSuccess(response) {      // 设置头像      this.course.cover = response.data    }

3.3后端测试数据


微信图片_20220530122116.png

    @PostMapping("/avatar/upload")
    public BaseResult avatarUpload(MultipartFile file) {
        String url = "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif?imageView2/1/w/80/h/80";
        return BaseResult.ok("上传成功", url);
    }

3.4后端实现


3.4.1配置类


  • yml 配置
aliyun:
  oss:
    file:
      endpoint: oss-cn-shanghai.aliyuncs.com
      keyId: LTAI5t7oNGMkQJ1X8RqtLet2
      keySecret: 这里是密码
      dirName: avatar
      bucketName: czxy-lt

微信图片_20220530122356.png

配置类  

package com.czxy.zx.course.oss;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Data
@Component
@ConfigurationProperties(prefix = "aliyun.oss.file")
public class OssProperties {
    private String endpoint;
    private String keyId;
    private String keySecret;
    private String dirName;
    private String bucketName;
}

微信图片_20220530122401.png

3.4.2上传工具类微信图片_20220530122525.png

package com.czxy.zx.course.oss;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.czxy.zx.exception.EduException;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
@Component
public class OssUtils {
    @Resource
    private OssProperties ossProperties;
    public String upload(MultipartFile file) {
        if(file == null) {
            throw new EduException("上传文件为空");
        }
        try {
            // 创建OSSClient实例。
            OSS ossClient = new OSSClientBuilder().build(ossProperties.getEndpoint(), ossProperties.getKeyId(), ossProperties.getKeySecret());
            String path = ossProperties.getDirName() + "/" + System.currentTimeMillis() + ".png";
            // 数据流
            InputStream inputStream = file.getInputStream();
            // 填写Bucket名称和Object完整路径。Object完整路径中不能包含Bucket名称。
            ossClient.putObject(ossProperties.getBucketName(), path, inputStream);
            // 关闭OSSClient。
            ossClient.shutdown();
            String url = "https://"+ossProperties.getBucketName()+"."+ossProperties.getEndpoint()+"/" + path;
            return url;
        } catch (IOException e) {
            throw new EduException("文件上传有误");
        }
    }
}

3.4.3上传功能


微信图片_20220530122535.png

注入工具微信图片_20220530122543.png

调用工具

    @PostMapping("/avatar/upload")
    public BaseResult avatarUpload(MultipartFile file) {
        String url = ossUtils.upload(file);
        return BaseResult.ok("上传成功", url);
    }


相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
11天前
|
文字识别 算法
印刷文字识别产品使用合集之开通了阿里云发票识别验真功能,其他人可以调用我的这个接口吗
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
27天前
|
Oracle 关系型数据库 数据处理
实时计算 Flink版产品使用合集之写入OSS是否要开通oss-hdfs服务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
分布式计算 大数据 MaxCompute
MaxCompute产品使用合集之使用pyodps读取OSS(阿里云对象存储)中的文件的步骤是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5天前
|
人工智能 JavaScript Java
《AIGC+软件开发新范式》--10.阿里云参编业内首个代码大模型标准,通义灵码获 2023 AI4SE “银弹” 案例
阿里云参编业内首个代码大模型标准,通义灵码获 2023 AI4SE “银弹” 案例
|
9天前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何将CSV文件从阿里云OSS同步到ODPS表,并且使用列作为表分区
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
DataWorks产品使用合集之如何将CSV文件从阿里云OSS同步到ODPS表,并且使用列作为表分区
|
21天前
|
SQL 分布式计算 监控
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
本文演示了使用 EMR Serverless Spark 产品搭建一个日志分析应用的全流程,包括数据开发和生产调度以及交互式查询等场景。
56382 2
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
|
22天前
|
存储 弹性计算 数据管理
【阿里云弹性计算】ECS实例的冷热数据管理:利用阿里云 OSS 与 ECS 的高效协同
【5月更文挑战第28天】阿里云ECS与OSS协同,实现弹性计算服务的高效数据管理。ECS处理热数据,OSS存储冷数据,降低存储成本,提升性能。通过自动化策略实现数据自动迁移,优化实例性能,适用于电商图片、日志存储等场景。注意迁移策略设置和数据安全,为企业带来更大价值和竞争力。
120 1
|
23天前
|
弹性计算 运维 负载均衡
【阿里云弹性计算】阿里云ECS在金融科技中的应用案例:高性能交易系统的构建
【5月更文挑战第27天】阿里云ECS助力某证券公司构建高性能交易系统,满足高并发、高可用和弹性扩展需求。ECS凭借最新处理器技术、高速内存实现高性能计算;支持多地域、多可用区部署保证高可用性;弹性伸缩特性适应业务波动,降低运维成本。通过分布式架构和负载均衡技术,实现交易请求高效处理,确保系统稳定运行。案例证明,阿里云ECS是金融科技领域构建高性能交易系统的理想选择。
141 1
|
24天前
|
弹性计算 Cloud Native 安全
【阿里云云原生专栏】云原生与芬克斯:阿里云函数计算在金融行业的应用案例
【5月更文挑战第26天】阿里云函数计算在金融行业数字化转型中发挥关键作用,提供高可用、安全、灵活且成本效益的解决方案。通过事件驱动架构和弹性伸缩,适应业务波动,确保服务连续性。在实时风控系统案例中,函数计算实现低延迟评估,提升风控效率。此技术助力金融企业快速创新,增强市场竞争力。
317 0
|
25天前
|
弹性计算 监控 数据库
【阿里云弹性计算】企业级应用上云实战:基于阿里云 ECS 的 ERP 系统迁移案例
【5月更文挑战第25天】制造企业将面临资源不足、维护成本高和数据安全问题的ERP系统迁移到阿里云ECS,实现业务上云。通过数据迁移、应用部署、网络配置和性能优化等步骤,企业享受到弹性计算资源、高可靠性和数据安全优势,降低维护成本。阿里云提供24小时支持,助力企业数字化转型。此案例展示企业级应用上云的可行性,鼓励更多企业借助云计算实现创新发展。
40 0

热门文章

最新文章