• 阿里云对象存储oss私有桶生成链接


    业务场景:

    1,需要别的平台下载文件上传到oss对象存储。

    2,app端需要小图缩略图显示,包括视频截帧。

    3,安全访问和内存调节等。

    4,聊天平台转换等。

    对象存储帮我们存储文件,数据,更安全,更快捷。

    阿里云oss地址:

    我们通过私有桶加密的方式使用链接转换,根据时间生成有效链接。

    1. /**
    2. * 通过上传获取到 验签的文件url地址
    3. *
    4. * @param ossClient
    5. * @param key
    6. * @return
    7. */
    8. public static String getFileUrl(OSS ossClient, String key,String bucketName) throws ParseException {
    9. Date date = new Date();
    10. Calendar cal = Calendar.getInstance();
    11. cal.setTime(date);
    12. //增加一年
    13. cal.add(Calendar.YEAR, 1);
    14. GeneratePresignedUrlRequest generatePresignedUrlRequest;
    15. generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, key);
    16. generatePresignedUrlRequest.setExpiration(cal.getTime());
    17. URL url = ossClient.generatePresignedUrl(generatePresignedUrlRequest);
    18. return url.toString();
    19. }

    图片缩略和视频缩略

    1. GeneratePresignedUrlRequest generatePresignedUrlRequest;
    2. generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, key);
    3. ​​​​​​​generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, key);
    4. generatePresignedUrlRequest.setExpiration(cal.getTime());
    5. generatePresignedUrlRequest.setProcess(wechatConfig.getLargerImgStyle());
    6. URL largerImgUrl = ossClient.generatePresignedUrl(generatePresignedUrlRequest);
    7. #大图缩略
    8. larger_img_style: image/resize,l_720
    9. #小图缩略
    10. thumbnail_img_style: image/resize,l_198
    11. #视频缩略
    12. video_style: video/snapshot,t_50000,f_jpg,w_800,h_600
    13. //视频缩略
    14. // 创建OSSClient实例。
    15. GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, key, HttpMethod.GET);
    16. req.setExpiration(cal.getTime());
    17. req.setProcess(wechatConfig.getVideoStyle());
    18. URL signedUrl = ossClient.generatePresignedUrl(req);

    我们通过setProcess 设置熟悉即可,阿里云官网也有详细的参考和教程。

     

     

  • 相关阅读:
    【1805. 字符串中不同整数的数目】
    手把手教你下载XShell免费版(超详细)
    Spring Boot(七十七):SpringBoot实现接口内容协商功能
    编译安装nginx时候的报错
    Ubuntu下目标检测YOLO系列网络安装OpenCV时Darknet编译出现的问题(pjreddie版本)
    pthread_mutex_t互斥量
    Swift加载Lottie
    IDEA中maven的设置以及相关功能
    猿创征文|【云原生 | 24】Docker运行数据库实战之MongoDB
    【juc】countdownlatch实现并发网络请求
  • 原文地址:https://blog.csdn.net/qq_39751120/article/details/126108742