引入依赖
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
使用
public class AliyunOssUtil {
/*
* 1.Endpoint(访问域名)
* 2.AccessKey(访问密钥)
* 3.密钥密码
* 将以上3个声明为成员变量,避免代码冗余
* */
// Endpoint以杭州为例,其它Region请按实际情况填写。
private static String endpoint = "";//1
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
private static String accessKeyId = "";//2
private static String accessKeySecret = "";//3
/*
* 截取视频帧数
* 参数:
* 1.Bucket名字
* 2.要截取的视频的位置,目录+文件名
* 返回值:截取完的图片路径
* */
public static URL snapshot(String bucketName,String objectName){
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 设置视频截帧操作。
String style = "video/snapshot,t_50000,f_jpg,w_800,h_600";
// 指定过期时间为10分钟。
Date expiration = new Date(new Date().getTime() + 1000 * 60 * 10 );
GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, objectName, HttpMethod.GET);
req.setExpiration(expiration);
req.setProcess(style);
URL signedUrl = ossClient.generatePresignedUrl(req);
System.out.println(signedUrl);
// 关闭OSSClient。
ossClient.shutdown();
return signedUrl;
}
/*
* 上传网络流
* 参数:
* 1.截取完图片后的URL.toString
* 2.Bucket名字
* 3.要上传到的目录+文件名
* */
public static void UploadNetworkStream(String url, String bucketName,String objectName) throws IOException {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 上传网络流。
InputStream inputStream = new URL("https://www.aliyun.com/").openStream();
ossClient.putObject(bucketName, objectName, inputStream);
// 关闭OSSClient。
ossClient.shutdown();
}
}
更多可见阿里云官网:https://help.aliyun.com/knowledge_detail/64555.html