业务场景:
1,需要别的平台下载文件上传到oss对象存储。
2,app端需要小图缩略图显示,包括视频截帧。
3,安全访问和内存调节等。
4,聊天平台转换等。
对象存储帮我们存储文件,数据,更安全,更快捷。
阿里云oss地址:
我们通过私有桶加密的方式使用链接转换,根据时间生成有效链接。
/**
* 通过上传获取到 验签的文件url地址
*
* @param ossClient
* @param key
* @return
*/
public static String getFileUrl(OSS ossClient, String key,String bucketName) throws ParseException {
Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
//增加一年
cal.add(Calendar.YEAR, 1);
GeneratePresignedUrlRequest generatePresignedUrlRequest;
generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, key);
generatePresignedUrlRequest.setExpiration(cal.getTime());
URL url = ossClient.generatePresignedUrl(generatePresignedUrlRequest);
return url.toString();
}
图片缩略和视频缩略
GeneratePresignedUrlRequest generatePresignedUrlRequest;
generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, key);
generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, key);
generatePresignedUrlRequest.setExpiration(cal.getTime());
generatePresignedUrlRequest.setProcess(wechatConfig.getLargerImgStyle());
URL largerImgUrl = ossClient.generatePresignedUrl(generatePresignedUrlRequest);
#大图缩略
larger_img_style: image/resize,l_720
#小图缩略
thumbnail_img_style: image/resize,l_198
#视频缩略
video_style: video/snapshot,t_50000,f_jpg,w_800,h_600
//视频缩略
// 创建OSSClient实例。
GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, key, HttpMethod.GET);
req.setExpiration(cal.getTime());
req.setProcess(wechatConfig.getVideoStyle());
URL signedUrl = ossClient.generatePresignedUrl(req);
我们通过setProcess 设置熟悉即可,阿里云官网也有详细的参考和教程。