使用Gitee/Github做圖床 基於golang實現的一個上傳小工具 [更新]

hezhizheng發表於2021-02-22

Github / Gitee 圖床工具 (基於 Golang(Gin) 實現) github地址

還是用Gitee當圖床算了,不然哪裡有國內訪問又快又免費又穩的圖床服務提供......
Github 也行,可以用jsdelivr加速

頁面


功能

  • 支援使用 Github / Gitee 作為圖床工具
  • github 使用 jsdelivr 加速
  • 支援gitee圖片大於1M的顯示(PS:需要手動啟動/部署gitee的pages服務)
  • 一鍵啟動,跨平臺支援,執行只依賴編譯後的二進位制檔案
  • 視覺化web操作介面(PS: 頁面有點醜,不影響操作……)
  • 多圖上傳,支援 ‘jpeg’, ‘jpg’, ‘gif’, ‘png’ 格式
  • 複製圖片url 、刪除圖片

使用

使用者可直接下載 releases 檔案啟動即可,引數說明:

./repo-image-hosting_windows_amd64.exe -h
Usage of D:\phpstudy_pro\WWW\org\gitee-image-hosting\repo-image-hosting_windows_amd64.exe:
  -owner string
        倉庫所屬空間地址(企業、組織或個人的地址path) (default "hezhizheng")
  -path string
        檔案的路徑 (default "image-hosting")
  -platform string
        平臺名稱,支援gitee/github (default "github")
  -port string
        本地監聽的埠 (default "2047")
  -repo string
        倉庫路徑(path) (default "static-image-hosting")
  -token string
        Gitee/Github 的使用者授權碼
完整啟動命令: ./repo-image-hosting_windows_amd64.exe -platform github -owner hezhizheng -repo static-image-hosting -path image-hosting -token xxxtoken -port 2047
實際引數替換成自己的就行

token獲取(gitee):gitee.com/profile/personal_access_...

token獲取(github):github.com/settings/tokens/new

自行編譯

// 編譯前請先安裝 go-bindata ,請參考 https://blog.hi917.com/detail/87.html
// 執行靜態資源編譯命令(每次修改靜態檔案都需要執行)
go-bindata -o=bindata/bindata.go -pkg=bindata ./static/... ./views/... 

// 跨平臺編譯
gox -osarch="windows/amd64" -ldflags "-s -w"

gox -osarch="darwin/amd64" -ldflags "-s -w"

gox -osarch="linux/amd64" -ldflags "-s -w"

關於Gitee限制圖片大於1M訪問的處理方案

  • 使用第三方圖片壓縮工具進行壓縮,之後再進行上傳。推薦 compressjpeg
  • 啟用Gitee的pages功能(非付費使用者上傳圖片之後需要手動進行pages服務的部署),程式會自動替換pages域名進行圖片的展示。
本作品採用《CC 協議》,轉載必須註明作者和本文連結
hezhizheng

相關文章