效果
前言
第一版已完成,这篇文章是在第一版的基础上进行改造升级了。第一版的详细文章请见>>>
https://blog.csdn.net/pyfysf/article/details/103990753
https://www.cnblogs.com/upuptop/p/12197125.html
第一版完成的预览图,目前我这里已经开发好了免费图床多人版本,并且已经部署到服务器上了,服务器比较廉价,访问速度一般。如果想使用免费图床的朋友们,可以添加我微信(pyfysf_123)领取免费账号哟!
第一个版本的缺陷
V1.0 的做法逻辑是 利用gitee的gitpage服务,通过上传文件,将文件链接转换为gitpage服务的访问地址
,缺陷:因为是使用了gitpage服务,所以每次上传完成之后都需要刷新图床操作(重新发布gitpage),还会出现频繁操作的错误。
解决问题
V2.0使用了资源文件的访问方式操作直接对仓库的文件进行raw访问
https://gitee.com/quxuecx/TypechoBlogImg/raw/master/1589128646_20200510124846298_15964.jpg
具体步骤
创建一个新的公开仓库
创建成功之后,获取你的仓库git地址:
这个地方后续开发中会用到,一定要记得哦
https://gitee.com/apk2sf/TypechoBlogImg.git
apk2sf: 用户标识
TypechoBlogImg: 仓库名称
不需要开启gitpage服务
创建私人令牌
开始开发
码云OpenAPI :
https://gitee.com/api/v5/swagger
我们这里主要使用到了
参数列表:点击下方的测试按钮,可以查看到请求地址
- 请求建立Pages --> 刷新仓库的giteePages服务
码代码
代码基本上没有什么逻辑,通过http协议请求码云的api就好了。下面是后端java代码分享
常量管理类
GiteeImgBedConstant.java
/**
* 码云博客图床的常量类
*
* @author: pyfysf
* <p>
* @qq: 337081267
* <p>
* @CSDN: http://blog.csdn.net/pyfysf
* <p>
* @blog: http://wintp.top
* <p>
* @email: pyfysf@163.com
* <p>
* @time: 2019/12/8
*/
public interface GiteeImgBedConstant {
/**
* TODO:这个常量是码云为您分配的私人令牌,Token 这里的代码会报错,仅仅是为了提醒您进行修改
*/
String ACCESS_TOKEN =
/**
* 仓库所属地址 这个是您的私人用户名 具体请参考创建仓库时的注意事项
*/
String OWNER =
/**
* TODO:仓库名称 这里是您的仓库名称
*/
String REPO_NAME =
/**
* TODO: 上传图片的message
*/
String CREATE_REPOS_MESSAGE = "add img";
/**
* TODO:文件前缀
*/
String IMG_FILE_DEST_PATH = "/img/" + DateUtil.format(new Date(), "yyyy_MM_dd") + "/";
/**
* 新建文件
* <p>
* owner* 仓库所属空间地址(企业、组织或个人的地址path)
* repo* 仓库路径
* path* 文件的路径
* content* 文件内容, 要用 base64 编码
* message* 提交信息
* <p>
* %s =>仓库所属空间地址(企业、组织或个人的地址path) (owner)
* %s => 仓库路径(repo)
* %s => 文件的路径(path)
*/
String CREATE_REPOS_URL = "https://gitee.com/api/v5/repos/%s/%s/contents/%s"