免费开源了一个图床工具 github-spring-boot-starter

news/2024/12/19 20:38:07/

文章目录

    • 第一步,新建一个SpringBoot项目
    • 第二步,在pom文件里面引入jar包
    • 第三步,配置你的github信息
      • github.authorization
        • 1、进入github官网,登录账号,点击头像,选择setting
        • 2、选择[Developer Settings](https://github.com/settings/apps)
        • 3、生成一个token
        • 4、设置好参数
      • owner
      • repo
      • branch
      • email
    • 第四步,使用GithubTemplate
    • 第五步,验证是否可以使用
    • 需要注意的点
    • 后续版本考虑支持

嗨嗨嗨~ 我老马又来了!!!上次写了一篇我开源了一款阿里云OSS的spring-boot-starter

但是大家需要知道的事情是阿里云oss是收费的啊!在写这篇文章之前作者也买了一个阿里oss的资源包

image-20241009192656160

但是就是在 2024年9月16日 00:00的时候,他过期了,那么大家都知道我的,喜欢找白(开)嫖(源)的路子,经过许久的调研加上github免费的名声,所以作者就盯上了github,于是花了几天的时间写了一个github-spring-boot-starter给大家使用

这个spring-boot-starter 只有一个使命:当图床+上传文件,只需要调用一个(githubTemplate.putObject())上传的方法,返回值就是一个直接可以预览的路径!! 目前这个jar包已经发布到maven的中央仓库去了,欢迎大家使用

仓库的引用地址为:https://mvnrepository.com/artifact/io.gitee.wangfugui-ma/github-spring-boot-starter

image-20241009193407126

现在来教大家怎么使用这个免费的jar包

目前最新的jar包版本为1.0.0,请使用1.0.0版本

第一步,新建一个SpringBoot项目

SpringBoot入门:如何新建SpringBoot项目(保姆级教程)

第二步,在pom文件里面引入jar包

maven项目为

<!-- https://mvnrepository.com/artifact/io.gitee.wangfugui-ma/github-spring-boot-starter -->
<dependency><groupId>io.gitee.wangfugui-ma</groupId><artifactId>github-spring-boot-starter</artifactId><version>1.0.0</version>
</dependency>

gradle项目为

// https://mvnrepository.com/artifact/io.gitee.wangfugui-ma/github-spring-boot-starter
implementation group: 'io.gitee.wangfugui-ma', name: 'github-spring-boot-starter', version: '1.0.0'

github_48">第三步,配置你的github信息

在yml或者properties文件中配置如下信息

github:authorization: ghp_krW5D18ymHx3lK8a9QVBGK7scsdfnowner: MrFuguirepo: markdownbranch: mainemail: masiyi163163@163.com

githubauthorization_61">github.authorization

这个参数是你的github的token,为了鉴权使用,告诉github这个是你

githubsetting_65">1、进入github官网,登录账号,点击头像,选择setting

image-20241009194328522

2、选择github.com/settings/apps">Developer Settings

image-20241009194558303

3、生成一个token

一定要选我箭头标识的,否则会调用失败!!

image-20241009195131191

4、设置好参数

名字加有效期

image-20241009195326101

然后把repo这个选项勾选上就行了,然后点击生成

image-20241009195542914

之后你就会得到一个token!把这个复制下来填到github.authorization参数里面去!!现在就复制!!now!!!因为关闭这个页面token就会消失了

image-20241009195610938

owner

这个参数就是用户名的意思,例如作者的用户名就是MrFugui,点击你的头像点击your profile,地址栏里面就是你的owner

image-20241009195952208

repo

这个就是你的仓库名称啦,新建一个仓库

image-20241010191933781

注意得是公开的仓库哦!!!

image-20241010191927250

这里添加一个文件,这样才会创建一个默认的分支 main

image-20241010191558481

branch

这里就是你的分支名称,如果你按照上面的操作来的话,默认就是main,如果你有自己的分支的话则改为自己的分支

image-20241010192056509

email

见名之意,就是你的email电子邮箱,这个无所谓,可以随便乱写,主要的用于给提交信息加标识,但是前几个是不能乱写的

根据我们上面的操作完成之后yml就会变成这样:

github:authorization: ghp_krW5D18ymHx3lK8adfgdcVpYWh0bwR0nowner: MrFuguirepo: github-spring-boot-starterbranch: mainemail: masiyi163163@163.com

第四步,使用GithubTemplate

    @AutowiredGithubTemplate githubTemplate;

在你的项目中直接使用Autowired注解注入AliyunTemplate即可使用

image-20241010192745562

第五步,验证是否可以使用

我们编写一个测试方法往github里面上传一个文件试试

public String create(MultipartFile file) throws IOException {return githubTemplate.putObject(file.getInputStream(), "提交",  file.getOriginalFilename());
}

通过controller接口调用一下试试:

image-20241010193159624

可以看到我们的方法直接返回了一个地址,我们可以直接打开看一下

image-20241010193238202

没错!!成功上传并且可以直接预览!!!

需要注意的点

每次上传的名称、路径、里面的内容是不能一样的,否则方法会返回一个空字符串回来

后续版本考虑支持

  1. 支持更多的图床,例如gitee等

在这里插入图片描述


http://www.ppmy.cn/news/1556473.html

相关文章

[Unity Shader] 【游戏开发】Unity Shader的结构2-深入理解 SubShader 的结构与应用

在 Unity 中,Shader 是图形渲染管线中的核心组件,而 SubShader 是 Shader 结构中不可或缺的部分。每个 Unity Shader 文件可以包含多个 SubShader,它们根据不同的显卡和硬件条件提供不同的渲染实现。本文将详细介绍 SubShader 的结构、标签(Tags)、渲染设置(RenderSetup)…

Android14 AOSP支持短按关机

修改frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java diff --git a/base/services/core/java/com/android/server/policy/PhoneWindowManager.java b/base/services/core/java/com/android/server/policy/PhoneWindowManager.java in…

电脑文档损坏:原因剖析和修复方法

在使用电脑的过程中&#xff0c;许多用户可能会遇到文档突然提示损坏、无法打开的情况。这种情况的发生往往让人感到困惑&#xff0c;特别是当并未进行任何明显错误操作时。以下是一些常见的原因以及应对方法。 一、文档损坏的常见原因 1、非人为的异常操作&#xff1a; 在编…

碰一碰发视频 + 智能文案生成全解析,支持OEM

一、引言 在数字化营销的汹涌浪潮中&#xff0c;新颖且高效的推广策略不断迭代涌现。“碰一碰发视频” 结合 “点评打卡、种草文案一键生成” 的创新模式&#xff0c;宛如一颗璀璨的营销新星&#xff0c;正以燎原之势重塑商家与消费者的互动生态&#xff0c;为品牌传播及用户引…

低延迟!实时处理!中软高科AI边缘服务器,解决边缘计算多样化需求!

根据相关统计&#xff0c;随着物联网的发展和5G技术的普及&#xff0c;到2025年&#xff0c;全球物联网设备连接数将达到1000亿&#xff0c;海量的计算数据使得传输到云端再处理的云计算方式显得更捉襟见肘。拥有低延迟、实时处理、可扩展性和更高安全性的边缘计算应运而生&…

linux redhat9系统 交互和非交互设定延时任务

1.交互延时任务的设定 at now&#xff08;时间&#xff09; “需要执行的任务” ctrlz开始执行 2.非交互延时任务的设定 vim编写脚本 设置输出重定向 输出重定向之间写需要进行的操作 之后 sh test.sh执行 2.延时任务黑白名单 由于所有用户模式下都可以设定延时任务 所…

剑指Offer|LCR 002. 二进制求和

LCR 002. 二进制求和 给定两个 01 字符串 a 和 b &#xff0c;请计算它们的和&#xff0c;并以二进制字符串的形式输出。 输入为 非空 字符串且只包含数字 1 和 0。 示例 1: 输入: a "11", b "10" 输出: "101"提示&#xff1a; 每个字符串…

Pikachu-XXE靶场(注入攻击)

1.攻击测试 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY xxe "a" > ]> <foo>&xxe;</foo> 2.查看文件 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///E:/ph…