业务场景:
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 设置熟悉即可,阿里云官网也有详细的参考和教程。

