首页 > 其他分享 >脚本上传typora图片到gitee

脚本上传typora图片到gitee

时间:2022-11-24 20:58:36浏览次数:67  
标签:__ 令牌 typora param Gitee import gitee 上传

用 Gitee 搭建图床,上传要用到 Gitee 的开放API:https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoContentsPath

注意:Gitee 的图片预览只能预览 1M 以内的图片,超过这个大小会要求登录。用 Gitee 作为图床的话图片尽量控制图片在 1M 以内。

直接进入主题,用 Gitee 搭建属于自己的图床并通过 Typroa 自定义脚本上传图片。

1、打开并登入 Gitee,新建仓库,设置好仓库名称和路径,选择开源(重要),勾选初始化仓库,创建。
2、点击导航栏的头像,选择设置:

在这里插入图片描述

3、在设置里面选择私人令牌,然后点生成新令牌:

在这里插入图片描述

4、输入私人令牌描述后点击提交即可,弹出私人令牌生成提示,复制生成的私人令牌(重要)。

5、打开 Typora,找到”文件–>偏好设置–>图像“,设定如下:

在这里插入图片描述

6、新建脚本文件(这里用python为例),文件位置和名称随便,脚本内容如下

import sys
import base64
import hashlib
import datetime
import requests
import urllib.parse
import os


def main():
    token = '私人令牌'
    owner = '个人空间地址名(不带https链接)'
    repo = '仓库地址名(不带https链接)'
    message = '仓库提交信息'
    
    mdname = ''

    param = [urllib.parse.unquote(par, 'utf8') for par in sys.argv]  # 把url编码转换成中文
    param.__delitem__(0)  # 第一个参数是脚本文件本身
    if len(param) > 0:
        if not os.path.exists(param[0]):  # 通过判断第一个参数是不是文件来判断是否加了参数 ${filename}
            mdname = param[0]  # 若不是文件则取出作为当前md文件名
            param.__delitem__(0)
        for i in range(0, len(param)):
            with open(param[i], "rb") as f:
                content = base64.b64encode(f.read())
                data = {'access_token': token, 'message': message, 'content': content}

                filename = hashlib.md5(content).hexdigest() + param[i][param[i].rfind('.'):]
                path = 'typora/' + (mdname if mdname != '' else str(datetime.date.today())) + '/' + filename
                res = requests.post('https://gitee.com/api/v5/repos/' + owner + '/' + repo + '/contents/' + path, data)
                if res.status_code == 201 or res.text == '{"message":"文件名已存在"}':
                    print('https://gitee.com/' + owner + '/' + repo + '/raw/master/' + path)
                else:
                    print('Error uploading Gitee, please check')


if __name__ == '__main__':
    main()

7、回到 Typroa ”偏好设置–>图像“,在命令处写上脚本文件的绝对位置(用引号引起来),点击验证图片上传选项

在这里插入图片描述

打开自己建的 Gitee 仓库,可以看到新建的图片文件说明上传成功

标签:__,令牌,typora,param,Gitee,import,gitee,上传
From: https://www.cnblogs.com/oldSimon/p/16923273.html

相关文章

  • springboot+vue+element-ui实现文件上传前后台代码+文件上传后台工具类
    //新增模板接口@PreAuthorize("@ss.hasPermi('pshdhx:template:add')")@Log(title="template",businessType=BusinessType.INSERT)@PostMapping("add")@ResponseBodypublic......
  • Vue上传XLS文件
    data(){return{tableData:[]}},//原生JS+XLSX包实现xls文件上传methods:{//上传excel表格文件uploadHandler(data){//对应的是uplo......
  • 用Appuploader发布上传iOS APP上架​
    Appuploader是一个IOS开发助手,可以快速,轻松地生成ios开发证书,不需要钥匙串助手;appuploader可以批量上传屏幕截图并将ipa文件上传到Apple商店,在windows,linux或mac上,不需要......
  • 求超大文件上传方案( SpringMVC )
    ​ 对于大文件的处理,无论是用户端还是服务端,如果一次性进行读取发送、接收都是不可取,很容易导致内存问题。所以对于大文件上传,采用切块分段上传,从上传的效率来看,利用多线......
  • 求超大文件上传方案( B/S )
    ​ 4GB以上超大文件上传和断点续传服务器的实现随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。但是在......
  • 求超大文件上传方案( Web )
    ​ 一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用......
  • jenkins+gitee拉取代码,打包
    1.安装gitee1.1在jenkins服务器上安装git客户端yum-yinstallgit1.2从jenkins控制面板上下载git插件1.2.1点击插件管理1.2.2在可选插件里搜索gitee没有就到已安装......
  • 云小课|帮您高效快速上传组件至私有依赖库
    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击......
  • 求超大文件上传方案( WebUploader )
    ​文件夹数据库处理逻辑public class DbFolder{    JSONObjectroot;       public DbFolder()    {        this.root= new JSONOb......
  • 求超大文件上传方案( vue )
    ​ 前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对Http协议较模糊,故这次采用渐进的方式来学习文件上传的......