java实现随机获取封面图片

Posted 穆雄雄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现随机获取封面图片相关的知识,希望对你有一定的参考价值。

大家好,我是雄雄。

前言

最近阳的很多,大家都注意身体啊;
今天给大家分享一篇:java如何实现随机获取七牛云obs中的图片,主要用于给文章随机添加封面,因为固定一个封面的话,会显得很单一,所以就提前准备了一些好看的图片放在里面,然后我们随机的取出来就行。

效果图


大家可以看的出来,基本上图片都没有重复的,当然,这得需要你有足够多的图片做支撑,如果你只有两张图片,但是文章有3篇,那不重复的话,肯定是做不到的。

实现

首先我们需要去整一些图片去,我放在了七牛云存储里面了,放的地大家可以随便放就行,比如华为云啥的都可以,到时候最好在买个cdn加速包,这样会省流量,省费用。

1.找图片

现在我们去找一些好看的图片,图片最主要的要求有两点:

  • 好看,自适应
  • 不能侵犯别人版权
    基于这两点,我这边提供给大家一个网站,里面全是好看的图片,且是免版权的:wallpapers

    也不用登录,也不用注册的,直接点击就能下载
    将图片下载下来之后,为了代码层面好实现,我们需要重命名一下图片:

    我事这样命名的,前缀是fm开头,后面是数字,为我们后面java代码层面实现的时候减少障碍~

2.将图片上传到云存储中

这一步不用过多的介绍吧,大家直接拉到云存储里面就可以了,然后将图片的连接复制一下,需要注意的是,在上传的时候,不要把这些图片随意的乱传,需要放在一个指定的目录下。

3.java实现随机取

接下来我们可以使用java来实现了,实现思路:

  • 因为图片命名是有规则的,那就是从1-52之间的任何一个自然数,加上前缀的fm就是该图片的名称,所以我们只需要随机拿到一个数字,组装组装就可以了。
  • 将组装的图片路径return出来

下面是实现代码:

   /**
     * 从七牛云中随机取出一张图片作为封面
     * @return
     */
    @Override
    public ResponseResult randomImgByQiNiuYun() 
        //先来个随机数 (1-52的随机数)
        int max = 52, min = 1;
        int random = (int) (Math.random() * (max - min) + min);
        String imgUrl = QNY_IMG_URL + "fm" + random + ".jpg";
        return ResponseResult.success(imgUrl);
    

QNY_IMG_URL 是我图片的请求地址,eg:

https://88688.team/

大家可以自己改成你的,加上前缀和图片的扩展名.jpg即可实现啦。

下面是给数据库中添加的图片地址效果:

以上是关于java实现随机获取封面图片的主要内容,如果未能解决你的问题,请参考以下文章

android获取视频第一帧图片作为封面

Facebook iOS SDK:获取专辑封面图片

如何通过亚马逊API获取书籍封面图片[重复]

内第一张图片作封面图

php如何获取mp4视频的封面图片

PHP正则获取文章中第一张图片为封面