背景:
博文編輯需要上傳圖片的功能,我們採用七牛雲存儲的免費空間,他們提供了API可供使用,但是為了實現可配置,需要對api做一定的分裝,供大家方便使用。
用法:
通過API可以這樣寫,寫一個方法,將密鑰和空間寫死,對外提供一個接口如下:
初步封裝
這個封裝的特點是寫法簡單,易懂,但是擴展性不強,每個使用的用戶都需要去改代碼,才能完成空間的配置,如果想換個存儲,或者換個用戶名,密碼還是需要修改代碼。我提供瞭如下封裝方式。
自定義封裝存儲API
1、定義接口。提供兩個方法,
(1)自定義文件名,文件路徑
(2)直接上傳File
代碼如下
文件上傳接口
通過這個接口,可以做不同的實現,今天用七牛API實現一套上傳,明天用八牛API實現另外一套上傳都可以,擴展性強
寫一個七牛API實現類如下
參數初始化配置及構造方法
兩個方法實現類,返回文件名或自定義文件名
如何與spring集成使用
Spring配置實現類
使用
使用測試用例
使用的時候通過Resource註解注入實現類,而不用關心具體的實現類是哪個,也就是面向接口,而不是具體的實現類,以後擴展實現類,只需要在配置文件中替換實現類即可。
閱讀更多 BeginCode 的文章