# 阿里云OSS文件上传和视频点播系统 **Repository Path**: shiningAlkaid/FileUpload-And-VideoOnDemand-System ## Basic Information - **Project Name**: 阿里云OSS文件上传和视频点播系统 - **Description**: 利用阿里云OSS搭建视频上传和视频点播系统。文件上传的方式是浏览器获取服务端的上传签名后直传OSS。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2023-08-04 - **Last Updated**: 2024-01-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 阿里云OSS文件上传和视频点播系统 #### 效果图 ![界面效果](演示效果.gif) #### 介绍 利用阿里云OSS搭建视频上传和视频点播系统。 **文件上传**的方式是浏览器获取服务端的上传签名后**直传**OSS, 这样既能限制桶的写权限,又能节省服务器的上传带宽,提升系统吞吐量。 **视频点播**是基于字节跳动开源的西瓜播放器封装的可播放图片和视频的多媒体播放器。 - 前端采用node14、Vue2、axios、Element UI和xgplayer-vue。 - 后端采用jdk17、springboot3、aliyun-sdk-oss #### 软件架构 ![系统交互图](sequence-diagram.png) #### 运行教程 - 后端(**后端必须先启动且使用8080端口**) 1. 等待并确认maven加载依赖完毕 2. 把backend/src/main/resources/application.yml中的阿里云OSS配置信息**全换成**自己账号的信息。 必填字段有accessKeyId、accessKeySecret、bucketName和endpoint。 accessKeyId和accessKeySecret获取参考https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair , bucketName是新建桶的桶名,endpoint是桶所在的地域,endpoint获取参考https://help.aliyun.com/zh/oss/user-guide/regions-and-endpoints 。 3. 启动backend/src/main/java/com/SpringbootApplication。启动后访问 http://localhost:8080 ,如果有内容说明后端运行成功 - 前端 1. 从项目根目录切换到Vue模块 ``` cd frontend ``` 2. 安装package.json文件中声明的依赖 ``` npm install ``` 3. 启动前端模块 ``` npm run serve ``` #### 使用说明 - 前端 1. FileUploadToOss -- 上传组件。基于Element的elupload组件,支持常见的图片、视频和文档格式, 默认一次只能上传一个文件,单文件大小为50MB。使用时**必须为组件传入上传服务对应的后端地址**。 2. XgPlayerWrapper -- 视频播放器。基于字节跳动的西瓜播放器,支持播放mp4,flv等格式的视频。 使用时**必须传入待播放资源的url**。 - 后端 1. 后端接口分为两类,私有写**私有读**桶的文件读写和私有写**公共读**桶的文件读写。 两种接口的区别在于接口路径不同,以及注入的OSS参数不同(因为创建了不同权限的桶) #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request