java实现随机获取封面图片

news2024/11/15 17:48:23

大家好,我是雄雄。

在这里插入图片描述

前言

最近阳的很多,大家都注意身体啊;
今天给大家分享一篇: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即可实现啦。

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/131173.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业注册信息如何识别真假?企业四要素API有什么好处?

企业注册信息越来越多,如何才能识别企业的真假,就需要有一套检验信息真伪的工具,这里我们分享的《企业四要素》就是用以检验企业真假的一种新型防伪应用供大家选择: 1、企业名称,2、法人名称,3、法人身份证…

第十三篇 1+X考证 Web前端测试题Laravel篇(新)

*Laravel中文网:Laravel 中文网 为 Web 工匠创造的 PHP 框架 单选题 1、Laravel中入口文件所在路径是( B ) A、项目/app B、项目/public C、项目/routes D、项目/vendor [ 知识点:如图 ] 2、下面哪个是Laravel闪存数据的方法…

js实现九九乘法表(两种方法)

方法一: 观察规律: 第一个数每行都是自增1。 我们发下第二个数都是从1开始,依次递增1,永远不大于前面的数。 前面数字每自增一次,后面数字自增一轮。 我们可以用双重for循环,外层初始值设为i&#xff0…

高并发内存池项目(C++实战项目)

文章目录🎄项目介绍◎项目来源▶项目源码◎内存池相关知识1、池化技术2、内存池3、内存池主要解决的问题4、malloc🎄设计思路◎第一阶段–设计一个定长的内存池适应平台的指针方案◎第二阶段–高并发内存池整体框架设计1.线程缓存(thread cac…

第十二届蓝桥杯嵌入式省赛试题以及题解

原题展示 通读本试题后,可以知本试题所涉及到的模块有LCD显示、LED指示、按键切换、串口收发、定时器的PWM输出五个部分,试题的总体变化不大。在试题要求的所有功能中,串口这部分是侧重点,它既要负责收发数据,又要对数…

用C++播放音频

编译环境为codeblocks 20.03&#xff0c;编译器为mingw64非自带的版本&#xff08;版本号多少忘记了&#xff09; 头文件 #include<dsound.h> #include <mmsystem.h> #pragma comment ( lib, "winmm.lib" ) 播放音频代码 int play_sound() {mciSendStr…

linux搭建服务器的准备工作

一&#xff0c;操作环境 创建完虚拟机&#xff0c;安装命令行界面的linux操作系统&#xff08;centos8,rocky8,rhel8) 详细过程请看rhcsa第一天作业 二&#xff0c;为服务器配置白名单和安全组 1&#xff0c; 查看selinux的工作模式 使用命令getenforce查看 工作模式有以下三种…

JavaSE学习(一)

1.java的特点 一次编译&#xff0c;到处运行 2.转义字符 \t 制表符 \\ 单个\ \ 单引号 \" 双引号 \n 换行 \r 回车3.注释 1.单行注释 // 2.多行注释 /* */ 3.文档注释 注释内容可以被JDK提供的工具javadoc所解析&#xff0c;生成一套以网页文件形式体现的该程序的说…

三、MySQL 数据库的基本操作

文章目录一、前置知识二、SQL 语言2.1 SQL 语言的兴起与语法标准2.2 SQL 是什么及 SQL 能做什么2.3 SQL 语言规范2.4 SQL 语句分类三、认识数据库3.1 数据库基本概念3.2 数据库常用对象3.3 系统数据库四、创建数据库五、查看数据库六、选择数据库七、修改数据库八、删除数据库九…

2023年国家留学基金委(CSC)有关国别申请、派出注意事项

国家留学基金委&#xff08;CSC&#xff09;已开始陆续公布2023年度的各公派项目实施办法&#xff0c;我们关注到&#xff1a;尽管选派流程及办法与往年相比没有明显变化&#xff0c;但由于各国对于接收CSC出国留学人员的签证、保险等会有不同的要求&#xff0c;所以CSC专门细化…

RHCE第一天之Linux例行性工作at、crontab详解

文章目录一、学习内容总结1、单一执行的例行性工作at2、循环执行的例行性工作crontab二、作业at和crontab的使用一、学习内容总结 1、单一执行的例行性工作at **概念&#xff1a;**指仅处理执行一次就结束了的工作。 要使用单一工作调度时&#xff0c;linux上面需要有负责这个…

电磁兼容大作业

目录 作业一 滤波器1的仿真 作业二 滤波器2的仿真 1. 初始滤波器 2. 仅加金属通孔 3. 仅加拓展枝节 4. 完整的发夹滤波器 作业三 屏蔽 1. 仿真未加屏蔽时的S11 S12 S21 S22 2. 尝试3.37GHz学号的仿真 作业一 滤波器1的仿真 仿真模型可以得到S参数&#xff0c;观察曲线…

一个测试人写在2022年的一些小感受

抓住2022年的尾巴&#xff0c;作为一名测试人&#xff0c;聊聊我的一些小感受&#xff0c;也给自己的2023年加加油&#xff1a; 这里写目录标题一、 不同的赛道&#xff0c;但是每个赛道都需要打比赛二、软件质量很重要&#xff0c;但是测试人却不重要&#xff1f;&#xff01;…

深度学习目标检测_YOLOV1超详细解读

文章目录YOLO背景介绍YOLO的发家史YOLO核心思想YOLO实现细节Pr(Object)Pr(Object)Pr(Object)的概率计算Pr(Classi∣Object)Pr(Class_i ∣Object)Pr(Classi​∣Object)的概率计算YOLO网络设计归一化30维向量含义预测框的定位再筛选bounding box损失函数由浅入深逐一解析损失函数…

MySQL数据库基础面试题

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;Java面试题…

python中的封装和继承

目录 一.面向对象的三大特性 私有成员 使用私有成员 封装小结 二.继承 pass关键字 多继承 多继承注意事项 小结 三.复写和使用父类成员 复写父类成员的语法 调用父类同名成员 一.面向对象的三大特性 面向对象编程&#xff0c;是许多编程语言都支持的一种编程思想。 简…

【机器学习】基于Pytorch和GoogleNet的海面舰船图像分类

文章目录基于Pytorch和GoogleNet的海面舰船图像分类1. 问题概述2. 实验环境、依赖库与代码结构3. GoogleNet网络架构3.1 Inception结构3.2 辅助分类器4. GoogleNet网络特征提取说明4.1 低层特征提取4.2 Inception特征提取4.3 分类器特征提取5. 具体参数设计6. 实际代码说明7. 网…

关于ElasticSearch新建文档的姿势

定义如下mapping&#xff0c;并且创建索引&#xff0c;索引包括四个字段 有三个分片 (number_of_shards)&#xff0c;每个分片有一个副本分片(number_of_replicas) PUT books {"mappings": {"properties": {"book_id": {"type": &qu…

[SUCTF 2018]MultiSQL(预处理)

打开界面发现注册admin已经有了这个用户&#xff0c;就注册了一个admin 然后功能都看一下&#xff0c;发现有一个id的get传参&#xff0c;所以我们可以传参数&#xff0c;实验一下是不是sql注入点 id1的时候显示了admin的用户&#xff0c;想到了水平越权的问题。但还是没啥&am…

计数指针 std::shared_ptr

shared_ptr 共享指针 shared_ptr 计数指针称为共享指针&#xff0c;可以共享数据。shared_ptr 创建了一个计数器与类对象所指的内存相关联Copy 之后计数器加一&#xff0c;销毁之后计数器减一。计数器 API 接口为 &#xff1a;use_count() 测试代码&#xff1a; #include <…