受不了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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906286.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906286.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906286.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于labview的聲音采集、存儲、處理

程序1&#xff1a;基于聲卡的數據采集 程序2&#xff1a;基于聲卡的雙聲道模擬輸出 程序3&#xff1a;聲音信號的采集與存儲 程序4&#xff1a;聲音信號的功率譜分析 程序5&#xff1a;基于labview的DTMF

第一次經歷項目上線

這幾天沒寫csdn&#xff0c;因為忙著項目上線的問題&#xff0c;我這階段改了非常多的前端bug哈哈哈哈&#xff0c;說幾個比較好的bug思想&#xff01; 這個頁面算是我遇到的比較大的bug&#xff0c;因為我一開始的邏輯都寫好了&#xff0c;詢價就是在點擊快遞公司彈出彈框的時…

基于EFISH-SCB-RK3576/SAIL-RK3576的消防機器人控制器技術方案?

&#xff08;國產化替代J1900的應急救援智能化解決方案&#xff09; 一、硬件架構設計? ?極端環境防護系統? ?防爆耐高溫設計?&#xff1a; 采用陶瓷纖維復合裝甲&#xff08;耐溫1200℃持續1小時&#xff09;&#xff0c;通過GB 26784-2023消防設備防爆認證IP68防護等級…

企業開發工具git的使用:從入門到高效團隊協作

前言&#xff1a;本文介紹了Git的安裝、本地倉庫的創建與配置&#xff0c;以及工作區、暫存區和版本庫的區分。詳細講解了版本回退、撤銷修改等操作&#xff0c;并深入探討了分支管理&#xff0c;包括分支的創建、切換、合并、刪除及沖突解決。此外&#xff0c;還介紹了遠程操作…

Java反射機制詳解:原理、應用與實戰

一、反射機制概述 Java反射(Reflection)是Java語言的一個強大特性&#xff0c;它允許程序在運行時(Runtime)獲取類的信息并操作類或對象的屬性、方法等。反射機制打破了Java的封裝性&#xff0c;但也提供了極大的靈活性。 反射的核心思想&#xff1a;在運行時而非編譯時動態獲…

成功案例丨從草圖到鞍座:用先進的發泡成型仿真技術變革鞍座制造

案例簡介 在鞍座制造中&#xff0c;聚氨酯泡沫成型工藝是關鍵環節&#xff0c;傳統依賴實驗測試的方法耗時且成本高昂。為解決這一問題&#xff0c;意大利自行車鞍座制造商 Selle Royal與Altair合作&#xff0c;采用Altair Inspire PolyFoam軟件進行發泡成型仿真。 該工具幫助團…

隧道結構安全在線監測系統解決方案

一、方案背景 隧道是地下隱蔽工程&#xff0c;會受到潛在、無法預知的地質因素影響。隨著我國公路交通建設的發展&#xff0c;隧道占新建公路里程的比例越來越大。隧道屬于線狀工程&#xff0c;有的規模較大&#xff0c;可長達幾公里或數十公里&#xff0c;往往穿越許多不同環境…

選錯方向太致命,華為HCIE數通和云計算到底怎么選?

現在搞HCIE的兄弟越來越多了&#xff0c;但“數通和云計算&#xff0c;到底考哪個&#xff1f;”這問題&#xff0c;依舊讓不少人頭疼。 一個是華為認證的老牌王牌專業——HCIE數通&#xff0c;穩、系統、崗位多&#xff1b; 一個是新趨勢方向&#xff0c;貼合云原生、數字化…

相機基礎常識

相機基礎常識 相機中顏色濾鏡的作用&#x1f3a8; 1. **捕捉彩色圖像**? 最常見的顏色濾鏡陣列是 **拜耳濾鏡&#xff08;Bayer Filter&#xff09;**&#xff1a; &#x1f50d; 2. **實現特定的圖像效果或分析功能**? 常見的濾鏡類型包括&#xff1a; &#x1f6e0;? 3. *…

paddle ocr本地化部署進行文字識別

一、Paddle 簡介 1. 基本概念 Paddle&#xff08;全稱 PaddlePaddle&#xff0c;飛槳&#xff09;是百度開發的 開源深度學習平臺&#xff0c;也是中國首個自主研發、功能豐富、技術領先的工業級深度學習平臺。它覆蓋了深度學習從數據準備、模型訓練、模型部署到預測的全流程…

開源AI大模型等“神秘組合”,如何顛覆零售業數字化轉型?

基于開源AI大模型、AI智能名片與S2B2C商城小程序源碼的零售行業數字化轉型新路徑研究 摘要&#xff1a;在業界將企業數字化轉型劃分為管理數字化、工業數字化和營銷數字化三大部分的背景下&#xff0c;國內大型制造企業在ERP與工業4.0洗禮下正邁向智能型發展道路。而零售行業面…

uniapp+vite+cli模板引入tailwindcss

目前vitecli方式用的都是官方提供的模板&#xff0c;vite版本還是4.14版本&#xff0c;較舊&#xff0c;而tailwindcss已經有了4版本&#xff0c;實際發現引入最新版會報錯&#xff0c;因而繼續使用3.3.5版本 pnpm install tailwindcss3.3.5 uni-helper/vite-plugin-uni-tail…

Golang中的runtime.LockOSThread 和 runtime.UnlockOSThread

在runtime中有runtime.LockOSThread 和 runtime.UnlockOSThread 兩個函數&#xff0c;這兩個函數有什么作用呢&#xff1f;我們看一下標準庫中對它們的解釋。 runtime.LockOSThread // LockOSThread wires the calling goroutine to its current operating system thread. // T…

Ubuntu搭建NFS服務器的方法

0 工具 Ubuntu 18.041 Ubuntu搭建NFS服務器的方法 在Ubuntu下搭建NFS&#xff08;網絡文件系統&#xff09;服務器可以讓我們像訪問本地文件一樣訪問Ubuntu上的文件&#xff0c;例如可以把開發板的根文件系統放到NFS服務器目錄下方便調試。 1.1 安裝nfs-kernel-server&#…

HarmonyOS Next應用分層架構下組件封裝開發實踐

基于鴻蒙應用分層架構的ArkUI組件封裝實踐 在鴻蒙應用開發中&#xff0c;合理利用 ArkUI 組件進行封裝&#xff0c;可以實現代碼復用&#xff0c;提升開發效率。本文將結合鴻蒙應用分層架構的特點&#xff0c;詳細探討幾個典型的 ArkUI 組件封裝場景及其實現方案。 華為鴻蒙應…

JAVA請求vllm的api服務報錯Unsupported upgrade request、 Invalid HTTP request received.

環境&#xff1a; vllm 0.8.5 java 17 Qwen3-32B-FP8 問題描述&#xff1a; JAVA請求vllm的api服務報錯Unsupported upgrade request、 Invalid HTTP request received. WARNING: Unsupported upgrade request. INFO: - "POST /v1/chat/completions HTTP/1.1&…

舊 docker 版本通過 nvkind 搭建虛擬多節點 gpu 集群的坑

踩坑 參考nvkind教程安裝到Setup這一步&#xff0c;由于docker版本較舊&#xff0c;–cdi.enabled 和 config 參數執行不了 手動修改 /etc/docker/daemon.json 配置文件 "features": {"cdi": true}手動修改 /etc/nvidia-container-runtime/config.toml 配…

C++:與7無關的數

【描述】 一個正整數,如果它能被7整除,或者它的十進制表示法中某一位上的數字為7,則稱其為與7相關的數.現求所有小于等于n(n < 100)的與7無關的正整數的平方和. 【輸入】 輸入為一行,正整數n(n < 100) 【輸出】 輸出一行&#xff0c;包含一個整數&#xff0c;即小于等于n…

FPGA:Lattice的FPGA產品線以及器件選型建議

本文將詳細介紹Lattice Semiconductor的FPGA產品線&#xff0c;幫助你了解各系列的特點和適用場景&#xff0c;以便更好地進行選型。Lattice以低功耗、小尺寸和高性能為核心&#xff0c;產品覆蓋低中端市場&#xff0c;廣泛應用于通信、計算、工業、汽車、消費電子、嵌入式視覺…

汽車零部件沖壓車間MES一體機解決方案

在當前制造業升級的大背景下&#xff0c;提升生產效率、實現精細化管理已成為企業競爭力的關鍵。特別是在汽車零部件制造領域&#xff0c;沖壓車間作為生產流程中的重要一環&#xff0c;其生產數據的實時采集與分析對于確保產品質量、優化生產節拍、降低運營成本至關重要。今天…