欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > 受不了github的网络限制了,我开源了一个图床工具 gitee-spring-boot-starter

受不了github的网络限制了,我开源了一个图床工具 gitee-spring-boot-starter

2025/5/20 19:42:17 来源:https://blog.csdn.net/csdnerM/article/details/143661538  浏览:    关键词:受不了github的网络限制了,我开源了一个图床工具 gitee-spring-boot-starter

嗨嗨嗨~ 我老马又又来了!!!上次写了一篇我开源了一款阿里云OSS的spring-boot-starter,然后买的资源包到期了,后面又想白(开)嫖(源)的路子,首先想到了使用github当做图床 免费开源了一个图床工具 github-spring-boot-starter,效果是相当不错,但是大家要知道的是github是国外的啊,有很多时候上传和下载都受到网络的限制了,这让博主很受苦恼

之前也在github-spring-boot-starter 的这篇文章说过,以后有可能会出一个用gitee当做图床的spring-boot-starter,加上github确实在国内不好用,秉着支持国产的行为,这不?gitee-spring-boot-starter出来了,这次的Starter支持将gitee作为图床,远离了github在国内的网络限制。

我们先来看一下效果:

image-20241107195400655

我们通过http接口上传了一个本地的文档,结果直接返回的是一个可预览的路径:

image-20241107195503912

没错,和上一次作者写的方法是一样的,但是我们这次的目标是国内的gitee。而且加入了日志打印可控制的功能。这个可用到的地方就非常的多啦,例如你的项目需要存储url的路径啦,就可以直接存储在gitee,然后将可预览的url存储到你的数据库就行啦,更多的玩法可以等大家自行探索。

说了这么多,我们来看一下怎么使用这个 gitee-spring-boot-starter 目前这个jar包已经发布到maven的中央仓库去了,欢迎大家使用

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

image-20241110144054079

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

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

第一步,新建一个SpringBoot项目

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

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

maven项目为

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

gradle项目为

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

第三步,配置你的gitee信息

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

gitee:authorization: 62749f920df9d73bf22c135111owner: wangfugui-marepo: markdownlog: false

gitee.authorization

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

1、进入gitee官网,登录账号,悬停头像,账号设置

image-20241110153615406

2、选择 私人令牌 ,或直接点击标题链接

image-20241110144443467

3、生成一个token

全选就行。

image-20241110144554704

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

owner

这个参数就是用户名的意思,例如作者的用户名就是wangfugui-ma,点击你的头像点击个人主页,地址栏里面就是你的owner

image-20241110145038236

repo

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

注意得是公开的仓库哦!!!要不然别人也无法预览,你自己想预览也要添加鉴权过才能预览,如果这篇文章点赞高,我们后面再添加支持一个私有的访问路径。

msedge_dTnhH74zML

如果看过作者上一篇写github的Starter可以看出来,我们这个gitee是没有分支选项的,因为gitee默认选择的是master分支,也就是说你哪个分支是默认的,就推送哪个分支,当然,如果这篇文章点赞高,我们后面再添加支持选择分支的版本出来。

image-20241110152040956

log

填值 trueor false代表是否打印日志,即gitee返回的内容,如果选择的是true的话,方便我们的调试,可以看到控制台中返回的错误信息:

image-20241110152958574

第四步,使用GiteeTemplate

    @AutowiredGiteeTemplate giteeTemplate;

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

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

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

    @PutMapping("/create")public String create(MultipartFile file) throws IOException {return demoService.create(file);}public String create(MultipartFile file) throws IOException {return giteeTemplate.putObject(file.getInputStream(), "提交",  file.getOriginalFilename());}

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

image-20241110152611034

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

image-20241110152624291

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

需要注意的点

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

2、上传的图片不能太大(默认1mb),否则会报错(org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException)可以通过配置解决,但是作者不建议上传太大的图片,毕竟也会消耗gitee的资源的,如果你有大图片需求建议选择阿里云oss(你自己付费了,随你怎么用)

后续版本考虑支持

1. 支持私人仓库上传预览
2. 支持指定分支上传
3. 支持同名文件更新
4. 欢迎开源的小伙伴加入进来 pull request,提供更多丰富的想法 

仓库地址为:https://gitee.com/wangfugui-ma/gitee-spring-boot-starter

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词