怎样在潇湘书院网站做兼职,wordpress转phpcms,深圳新恒基建设公司,黄骅市网站建设价格目录 前言
视频上传 前言 阿里云对象存储服务#xff08;OSS#xff09;作为一种高可用、高扩展性的云端存储服务#xff0c;为开发者提供了便捷、安全的对象存储解决方案。本文将介绍如何利用阿里云OSS实现视频上传功能。
视频上传
前期准备请看阿里云OSS文件上传和下载…目录 前言
视频上传 前言 阿里云对象存储服务OSS作为一种高可用、高扩展性的云端存储服务为开发者提供了便捷、安全的对象存储解决方案。本文将介绍如何利用阿里云OSS实现视频上传功能。
视频上传
前期准备请看阿里云OSS文件上传和下载完整指南 前两天我拿到这样一个需求利用OSS进行视频上传目录结构包含/用户id/年-月-日/时间戳/视频上传到接定的目录可以配置。
实现如下
package com.ctb.sf.oss;import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.ObjectMetadata;import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class OSSUtils {// 阿里云OSS的相关配置信息private static final String endpoint ; // OSS Endpointprivate static final String accessKeyId ; // Access Key IDprivate static final String accessKeySecret ; // Access Key Secretprivate static final String bucketName ; // Bucket名称private static final ExecutorService executor Executors.newFixedThreadPool(10); // 创建大小为10的固定线程池/*** 异步上传视频到OSS* param userId 用户ID* param videoFile 待上传的视频文件*/public static void uploadVideoToOSS(String userId, File videoFile) {executor.execute(() - {// 创建OSSClientOSS ossClient new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);try {// 构建目录结构SimpleDateFormat dateFormat new SimpleDateFormat(yyyy-MM-dd);String currentDate dateFormat.format(new Date());String timestamp String.valueOf(System.currentTimeMillis());String ossDirectory userId / currentDate / timestamp /;// 设置文件元数据ObjectMetadata metadata new ObjectMetadata();metadata.setContentLength(videoFile.length());// 获取文件后缀名String fileExtension getFileExtension(videoFile.getName());// 根据文件后缀名设置Content-Typeswitch (fileExtension.toLowerCase()) {case mp4:metadata.setContentType(video/mp4);break;case avi:metadata.setContentType(video/x-msvideo);break;case mov:metadata.setContentType(video/quicktime);break;//其它default:metadata.setContentType(application/octet-stream); // 默认设置为二进制流break;}// 上传文件ossClient.putObject(bucketName, ossDirectory videoFile.getName(), videoFile, metadata);} finally {// 关闭OSSClientossClient.shutdown();}});}/*** 根据文件名获取对应的Content-Type* param fileName 文件名* return 对应的Content-Type*/private static String getFileExtension(String fileName) {if (fileName.lastIndexOf(.) ! -1 fileName.lastIndexOf(.) ! 0) {return fileName.substring(fileName.lastIndexOf(.) 1);} else {return ;}}public static void main(String[] args) {String userId 123456; // 用户IDFile videoFile new File(C:/Users/86155/Desktop/职业规划.mp4); // 视频文件路径uploadVideoToOSS(userId, videoFile);}
}上传之后我们可以进入到阿里云的OSS控制台去查看结果