大家好,我是雄雄。
前言
最近阳的很多,大家都注意身体啊;
今天给大家分享一篇: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
即可实现啦。
下面是给数据库中添加的图片地址效果: