背景:
博文编辑需要上传图片的功能,我们采用七牛云存储的免费空间,他们提供了API可供使用,但是为了实现可配置,需要对api做一定的分装,供大家方便使用。
用法:
通过API可以这样写,写一个方法,将密钥和空间写死,对外提供一个接口如下:
初步封装
这个封装的特点是写法简单,易懂,但是扩展性不强,每个使用的用户都需要去改代码,才能完成空间的配置,如果想换个存储,或者换个用户名,密码还是需要修改代码。我提供了如下封装方式。
自定义封装存储API
1、定义接口。提供两个方法,
(1)自定义文件名,文件路径
(2)直接上传File
代码如下
文件上传接口
通过这个接口,可以做不同的实现,今天用七牛API实现一套上传,明天用八牛API实现另外一套上传都可以,扩展性强
写一个七牛API实现类如下
参数初始化配置及构造方法
两个方法实现类,返回文件名或自定义文件名
如何与spring集成使用
Spring配置实现类
使用
使用测试用例
使用的时候通过Resource注解注入实现类,而不用关心具体的实现类是哪个,也就是面向接口,而不是具体的实现类,以后扩展实现类,只需要在配置文件中替换实现类即可。
閱讀更多 BeginCode 的文章