使用七牛雲作為圖床獲取外鏈方式總結
一、圖床的選擇
相信大部分技術人寫作都用的是 markdown 輕量級標記語言進行部落格寫作,這種寫作讓我們不用像使用 word 那樣那麼麻煩地調整排版和格式,只需專心內容寫作並且照樣排版完美的一種方式。但是,基本所有支援 markdown 本地寫作工具都只能採用匯入本地圖片引用的方式,對於一篇需要大量圖片闡述的文章以及該文章上傳至網路圖片丟失,這不得不是個很糟糕的問題。那麼有什麼比較好的解決方式嗎?額,很多人採用的圖片寄存於網路,用服務廠商作為圖片儲存的地方,大家都叫為「圖床」,好了,那像 CSDN 部落格、簡書平臺不是都可以嗎?哈哈,是的,它們平臺寫文章的時候都可以匯入圖片然後得到一個圖片網路地址。但是,圖片數量多,這不是賊煩嘛!
好了,那有專門可以作「圖床」功能的服務商嗎?有的,比如七牛雲。
網上谷歌搜下還是能搜到很多圖床網站的,哈哈,先隨便列舉一些:(以下按照谷歌搜尋排名順序來的)
-
預設公共圖床使用 sm.ms、微博圖床,可以自定義支援七牛,介面簡潔美觀,支援 Chrome 外掛,註冊後還可以同步上傳歷史。
-
SM.MS 是由 V2EX @Showfom 自建的,無外鏈限制,無流量限制的圖床,支援 HTTPS,速度不錯,已經執行兩年多了。簡易的線上圖床工具
…….
看下別人的推薦吧:
—————————————————————–總結—————————————————————————-
1、圖床分類:
- 公共圖床
- 自建圖床:雲服務(如七牛雲、又拍雲、阿里雲OSS)
- 自建圖床:開源方案 (如 Lychee 開源方案、樹洞外鏈)
目前圖床可以分為兩種,一種是公共圖床,一種是自建圖床。 公共圖床也就是利用公共服務的圖片上傳介面,來提供圖片外鏈的服務,比如「微博圖床」。自建圖床,也就是利用各大雲服務商提供的儲存空間或者自己在 VPS 上使用開源軟體來搭建圖床,儲存圖片,生成外鏈提供訪問,比如七牛雲、Lychee 開源自建圖床方案。
目前自建圖床方案有兩種,一種是利用雲服務商提供的儲存服務來作為圖床,通過 API 來管理圖片,另一種是在 VPS 上安裝開源的圖片或檔案管理程式,只要能提供外鏈,基本都可以作為圖床來用。
圖床服務最重要的是穩定性,大廠的雲服務也都比較有保障,大家只要考慮下價格和易用性就可以了。就我個人而言,我首先推薦七牛,它的價格比較厚道,免費使用者也有一定額度,資料可以自己掌控,另外各大平臺的圖床工具也基本都支援,易用性很高。其次推薦微博圖床,對於不是很重要的圖片,都可以存到微博圖床,畢竟流量儲存都免費,速度也不錯。至於圖床工具,就看自己的喜好了,只要順手就行。但是不論選擇哪一個服務或者工具,我覺得首先要自己可以掌控資料。
總之,適合自己的才是最好的。
2、圖床工具:
雖然圖床選擇好,但是對普通使用者來說,直接使用圖床 API 很麻煩,我們可以藉助一些工具方便的上傳圖片,下面就根據 macOS、Windows、Web 分別推薦幾款工具。
Windows:
-
MPic 目測是 Windows 上唯一的圖床工具了,目前只支援七牛,把圖片拖拽到軟體視窗中就能上傳。
-
Web: 使用 Web 技術開發的圖床工具一抓一大把,大部分都基於七牛和微博圖床 API,這裡就介紹兩個體驗不錯的吧。比如「極簡圖床」、「微博圖床」等等。
指令碼:如果你對上面的產品不滿意,並且你會折騰的話,可以使用這個指令碼來完成圖片上傳:Markdown 圖片實用工具 , 該指令碼使用 Python 版的七牛 SDK 來實現上傳功能,你可以按照相關介紹,搭配 Alfred 來快速完成圖片上傳。
二、七牛雲圖床教程
先介紹下七牛:
七牛 是一個雲端儲存服務商,註冊並實名認證之後1後,你將免費享有 10GB 儲存空間,每月 10GB 下載流量、100 萬次 GET 請求、 10 萬次 PUT/DELETE 請求。七牛的定位不是像百度雲一樣的 網盤 ,也不是同堅果雲一般的 同步雲 ,而是 CDN 2 ,讓你在瀏覽網頁的時候最快的接收到頁面中的圖片、音訊等檔案,所以非常適合個人、企業使用者用來儲存站點資源。對於個人博主來說,你可以把部落格中的圖片、音訊、視訊等媒體上傳到七牛,在部落格中引用;也可以將站點需要載入的CSS、JS等檔案上傳到七牛,以加速網站。
網上對七牛雲的評價:
2.1 最原始上傳
大概步驟分為以下幾步:
到 七牛雲 網站註冊;
實名認證(實名認證了才能享受 免費 10Gb 儲存空間;實名認證需要「本人手持身份證」的正反面兩張照片,請提前準備好);
點選「管理控制檯」;
「資源主頁」–> 點選「物件儲存」,立即新增(即建立儲存空間,七牛雲把這個叫作”Bucket“),其中包括以下三個項:
- 儲存空間名稱:儲存空間名稱作為唯一的 Bucket 識別符
- 儲存區域:區域選擇自己附近的
- 訪問控制:作為圖床的話,訪問控制只能選擇為「公開空間」
點選建立,ok。
然後開啟儲存空間,選擇內容管理,點選上傳檔案,上傳你所需要用到的圖片;
上傳完成後,在儲存空間檔案列表中點選某一檔案的右側按鈕,可以看到外鏈地址,複製貼上即可用。
想看圖片形式的操作,可以參考該文:使用七牛雲端儲存做圖床
現在來看看一張圖片上傳圖片所經歷的步驟:
- 上傳圖片
- 複製外鏈
- 貼上到 Markdown
一張圖片用了四步吶,想想圖片多,那不是作死嘛。
那有什麼方法嗎?當然有,方法有三個:
一、七牛雲外掛上傳:簡單
二、使用 dropzone 上傳:方便
三、使用命令列上傳:快捷,尤其適合需要目錄及協作的團隊
, 其中有個「QSunSync」的 Windows 版本圖片同步上傳客戶端。
2.2 七牛雲外掛上傳:簡單
還可以利用線上「極簡圖床」工具,預設使用的為公共圖床 sm.ms,但是也可以自定義的,自定義圖床為七牛雲圖床,方法如下:
在最前面有關七牛雲的註冊等等操作,前面已經講了,不絮叨了,之後:
在“個人面板”->“金鑰管理”中檢視 AccessKey/SecretKey;
在儲存空間的“空間概覽”裡,記住這裡的“測試域名”;
在「極簡圖床」上配置上剛才七牛儲存的“空間名稱”、“AccessKey”、“SecretKey”、“域名”後,儲存。然後就可以上傳到自己專屬的七牛空間上了。
“AccessKey”、“SecretKey”:在“個人面板”->“金鑰管理”中檢視AccessKey/SecretKey
“域名”:在儲存空間的“空間概覽”裡可以看到
2.3 使用 dropzone 上傳:方便
這兩篇文章已經寫得很清楚了,大家按照以下兩篇文章操作即可
2.4 使用命令列上傳
1、qshell
使命命令列方式,可以不用手動上傳檔案到七牛,它會自動幫你將本地目錄的檔案同步到七牛之前設定的儲存空間下。
詳細教程,參考「參考資料」②文章的方法三,但是參考資料②中所說的 qrsync 已經失效,現在使用的 qshell 命令列,操作方式其實類似。
先引用官方的 qshell 介紹:
qshell是利用七牛文件上公開的API實現的一個方便開發者測試和使用七牛API服務的命令列工具。該工具設計和開發的主要目的就是幫助開發者快速解決問題。目前該工具融合了七牛儲存,CDN,以及其他的一些七牛服務中經常使用到的方法對應的便捷命令,比如b64decode,就是用來解碼七牛的URL安全的Base64編碼用的,所以這是一個面向開發者的工具,任何新的被認為適合加到該工具中的命令需求,都可以在ISSUE列表裡面提出來,我們會盡快評估實現,以幫助大家更好地使用七牛服務。
2、hexo-qinqiu-sync
筆者在該篇文章所看到:優雅的使用七牛做圖床, 裡面這麼說:
先是用了下很多人提到的這個外掛hexo-qiniu-sync, 然而效果實在是大跌眼鏡,在我這主要有這兩個問題:………….
……
然後發現了 qshell ….
然後,我換了種思路,在source資料夾下新建個圖片資料夾,和文章相關的圖片放到這裡,再把這個資料夾內容同步到七牛,然後在部落格使用七牛連結就好了唄,恰好發現官方有這個工具qshell,基本滿足我的想法。
…….
好吧,這麼看來,還是用 qshell 這個合適。
2.5 圖片優化
三、筆者最後使用的方法
由於筆者用的 windows,並且對圖片上傳的強烈要求不大,只要能保證方便上傳圖片就行,目前暫且就考慮以下幾種方式。
第一種:使用本文一開始提到的谷歌搜尋「圖床」那些線上圖床進行上傳就是,比如 SM.MS,不過可的可能會有某些限制,比如「小賤賤圖床 」每日上傳圖片限制數:20張。
第二種: 使用本文提到Chrome瀏覽器外掛 qiniu upload files 外掛,填寫空間名稱、AK、SK、域名等設定即可從電腦拖拽圖片至瀏覽器即可完成上傳,得到外鏈地址。
第三種: 使用本文提到的 極簡圖床,設定七牛云為圖床,填寫空間名稱、AK、SK、域名、樣式,上傳圖片即可得到外鏈地址。PS:其中,樣式為可選設定,其作用是 通過新增七牛樣式字尾,實現水印、縮圖功能,檢視使用說明
第四種: 使用本文提到的 Windows 下目測唯一的上傳工具 MPic ,首先下載下來,然後:
- 開啟檔案,啟動程式請點選MPic.exe,為方便啟用可點選右鍵傳送到‘桌面快捷方式’。
- 使用前先設定七牛雲端儲存賬號,即輸入七牛雲空間名、AK、SK、域名,儲存;
- 然後就可以直接拖拽圖片至客戶端就能上傳。
說明:下載的檔案中包含的 CSkin.dll 檔案,它是程式的核心檔案,請與 MPic.exe 檔案保持在同一目錄中;需要檢視歷史上傳記錄請點選‘我的上傳’即可檢視。
第五種:① 使用官網 開發者工具頁面 的「QSunSync」同步上傳windows客戶端,親測了下,沒有成功,還不知道哪的問題;② 或者使用官網的開發者工具頁面的 qshell 工具(基於七牛 API 服務的命令列工具),教程都在官網。
考慮到可以繫結七牛雲,我最後考慮了第二、第三、第四種方式(這幾種方式都可以繫結七牛云為圖床),也都差不多,都可以選擇。當然不考慮繫結註冊過的圖床,只是偶爾上傳圖片而已,就用 SM.MS 這個也 ok。
參考資料: