Typora搭建Gitee图床(通过shell脚本实现)

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 —> 文件 —> 偏好设置 —> 图像中设置:
https://my-image-1302565426.cos.ap-chengdu.myqcloud.com/images/c323b6436d39707d83e6a75b690b18e4.jpeg

其中,

  • 插入图片时选择 复制到指定路径
  • 上传服务选择 Custom Command(自定义命令)
    C:\Git\bin\sh.exe C:\uploadtogitee\upload.sh
    

注意:上传的图片不能超过 1MB ,否则无法正常显示,是需要登陆才可以查看的。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aspirantlu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值