Typora搭建Gitee图床
前提:适用于Windows平台
首先创建了一个目录 C:\uploadtogitee ,然后在该目录下创建 image 目录用于存放本地图片,创建 upload.sh 文件用于上传图片到 Gitee。(你也可以不按照这个目录结构,只要知道文件位置就好)
注意:目录名不能有空格。
upload.sh 文件中的代码如下:
#--------------config------------------------#
# gitee上的私人令牌
token="xxxxxx"
# 提交文件的消息
msg="typora_add_commit"
# 注册仓库后仓库地址中的用户名
owner="xxxxxx"
# 注册仓库后仓库地址中的仓库名
repo_name="xxxxxx"
#--------------config end------------------------#
declare -a result=()
# 生成随机字符串的方法
function rand(){
filename= openssl rand -hex 16
echo $filename
}
function upload(){
res=""
# 生成日期格式的文件夹和16位的随机字符串
filepath=$(date +%Y-%m-%d)/$(rand).jpeg
# base64 太长时会报错参数列表太长,这里使用 使用 @- 从标准输入中获取数据。利用echo输出到标准输入,再利用管道重定向输入到curl的-d参数中。
res=`echo '{"access_token":"'$token'","message":"'$msg'","content":"'$1'"}' \ |
curl -o /dev/null -s -w %{http_code} -X POST -H 'Content-type':'application/json' -d @- https://gitee.com/api/v5/repos/$owner/$repo_name/contents/typora/$filepath`
# 判断返回状态码是否为201 是返回地址,不是提示上传失败
if [ 201 -eq "$res" ];then
result+=(https://gitee.com/$owner/$repo_name/raw/master/typora/$filepath)
else
echo "上传失败!"
fi
}
for var in "$@"
do
# 读取上传图片转为base64
in=$( base64 -w 0 $var)
upload "$in"
done
for res in "${result[@]}"
do
echo "$res"
done
在Typora —> 文件 —> 偏好设置 —> 图像中设置:
其中,
注意:上传的图片不能超过 1MB ,否则无法正常显示,是需要登陆才可以查看的。
|