【在线教育】课程封面上传图片到阿里云OSS(二)

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储OSS,敏感数据保护2.0 200GB 1年
简介: 【在线教育】课程封面上传图片到阿里云OSS

1.3 快速入门


1.3.1 下载SDK


  • 在“常用入口”中,点击“SDK下载”
  • image.png

image.png

1.3.2 搭建环境


  • 创建项目:zx-test-oss31
  • 添加坐标
<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.15.0</version></dependency>

1.3.2 创建存储空间[可选]


例如:packagecom.czxy;
importcom.aliyun.oss.OSS;
importcom.aliyun.oss.OSSClientBuilder;
importorg.junit.Test;
/*** @author 桐叔* @email liangtong@itcast.cn*/publicclassTestOss {
@TestpublicvoidtestCreateBucket() {
// Endpoint以杭州为例,其它Region请按实际情况填写。Stringendpoint="oss-cn-shanghai.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。StringaccessKeyId="这里是账号";
StringaccessKeySecret="这里是密码";
StringbucketName="czxy-lt-01";
// 创建OSSClient实例。OSSossClient=newOSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 创建存储空间。ossClient.createBucket(bucketName);
// 关闭OSSClient。ossClient.shutdown();
    }
}

image.png

1.3.3 上传图片


  • 参考代码位置:

image.png

  • 例如:
@TestpublicvoidtestUpload() throwsFileNotFoundException {
// yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。Stringendpoint="oss-cn-shanghai.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。StringaccessKeyId="这是账号";
StringaccessKeySecret="这是密码";
// 创建OSSClient实例。OSSossClient=newOSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
Stringpath="avatar/"+System.currentTimeMillis() +".png";
// 数据流InputStreaminputStream=newFileInputStream("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.pngStringurl="https://czxy-lt.oss-cn-shanghai.aliyuncs.com/"+path;
System.out.println(url);
}

2. 课程管理--课程封面


2.1 需求


image.png

2.2 前端实现


2.2.1 上传成功处理


  • 添加上传组件和头像组件
<el-form-itemlabel="课程封面"><el-uploadclass="upload-demo"            :action="updateUrl"list-type="picture-card"            :limit="1"            :on-exceed="handleExceed"            :on-success="avatarUploadSuccess"><el-buttonsize="small"type="primary">点击上传</el-button><divslot="tip"class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div></el-upload><el-avatarshape="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    }



相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
SQL 分布式计算 Serverless
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
|
3月前
|
前端开发 安全 测试技术
为什么我的“OSS”上传图片会失败?
在项目中添加上传头像功能时,起初通过阿里云OSS SDK快速实现并返回图片URL给前端。然而,mentor指出直接回传密钥存在安全风险,建议使用STS临时授权优化安全性。优化后,本地测试正常,但线上环境出现跨域问题。最终通过调整前端代码,使用`window.location.protocol`确保请求协议一致,解决了跨域问题。这一过程不仅提升了功能的健壮性,也让我深刻理解了安全性和兼容性的重要性。
174 7
|
5月前
|
弹性计算 数据管理 应用服务中间件
活动实践 | 借助OSS搭建在线教育视频课程分享网站
本教程指导用户在阿里云ECS实例上搭建在线教育网站,包括重置ECS密码、配置安全组、安装Nginx、创建网站页面、上传数据至OSS、开通OSS传输加速、配置生命周期策略及清理资源等步骤,实现高效、低成本的数据管理和网站运营。
活动实践 | 借助OSS搭建在线教育视频课程分享网站
|
9月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
5月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
8月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
112 1
|
9月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
9月前
|
存储 运维 安全
阿里云OSS的优势
【7月更文挑战第19天】阿里云OSS的优势
348 2
|
9月前
|
存储 API 开发工具
阿里云OSS
【7月更文挑战第19天】阿里云OSS
395 1
|
9月前
|
存储 弹性计算 对象存储
预留空间是什么?阿里云OSS对象存储预留空间说明
阿里云OSS预留空间是预付费存储产品,提供折扣价以锁定特定容量,适用于抵扣有地域属性的Bucket标准存储费用及ECS快照费。通过购买预留空间,如500GB通用预留+100GB标准-本地冗余存储包,用户可优化成本。
353 4