Lskypro2+upgit+typroa实现图片上传

打印 上一主题 下一主题

主题 894|帖子 894|积分 2682

本片是对上一篇(Win10+PHP8+Nginx+LskyPro+SQLite3搭建本地图床_win10 php nginx-CSDN博客)的扩展。
在之前搭建本地图床的时候使用的是PicGo实现图片上传至LskyPro2,但是后来发现PicGo在在安装插件的时候比较贫苦,而且经常出现上传失败的情况,后来经过搜索,发现一个更加轻量级的上传工具Upgit(https://github.com/pluveto/upgit),该工具可以支持我们常见的文件存储比如gitbub、gitee、七牛云等。但是这个工具目前没有可视化页面,但是考虑到背面要整合到typroa,以是没有可视化页面也就无所谓了。
1、下载软件
软件下载地点:Releases · pluveto/upgit · GitHub
一般选择最新的版本即可,我这里选择的是最新版upgit_win_amdd64.exe
软件下载完成后直接放到指定目次,比如"D:\MySoftware\upgit"下,并将软件名改为upgit.exe

然后在手动创建目次extensions,并在该目次下创建文件lskypro.jsonc,文件内容如下:
   {
    "meta": {
        "id": "lskypro2",
        "name": "LskyPro2 Uploader",
        "type": "simple-http-uploader",
        "version": "2.0.0",
        "repository": ""
    },
    "http": {
        "request": {
            "url": "$(ext_config.host)/api/v1/upload",
            "method": "OST",
            "headers": {
                "Content-Type": "multipart/form-data",
                "Authorization": "$(ext_config.token)",
                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36"
            },
            "body": {
                "file": {
                    "type": "file",
                    "value": "$(task.local_path)"
                },
                "token": {
                    "type": "string",
                    "value": "$(ext_config.token)"
                }
            }
        }
    },
    "upload": {
        "rawUrl": {
            "from": "json_response",
            "path": "data.links.url"
        }
    }
}        
  然后在upgit.exe目次下创建文件config.toml
   1、设置default_uploader="lskypro2"
  2、设置uploaders.lskypro
  1. # =============================================================================
  2. # UPGIT 配置
  3. # =============================================================================
  4. # 默认上传器
  5. default_uploader = "lskypro2"
  6. # 上传文件名的格式模板(仅特定上传器适配)
  7. #   / 目录分隔符, 作用: 是区分目录
  8. #   {year} 年份, 例如: 2022
  9. #   {month} 月份, 例如: 02
  10. #   {day} 天, 例如: 01
  11. #   {unix_ts} 时间戳, 例如: 1643617626
  12. #   {fname} 原始文件名,如 logo (不含后缀名)
  13. #   {fname_hash} {fname}的 MD5 散列值
  14. #   {ext} 文件后缀名, 例如.png
  15. #   下面的例子生成的文件名预览: 2022/01/upgit_20220131_1643617626.png
  16. #   如果目录不存在将会被程序自动创建
  17. rename = "{year}/{month}/upgit_{year}{month}{day}_{unix_ts}{ext}"
  18. # -----------------------------------------------------------------------------
  19. # 自定义输出格式
  20. # -----------------------------------------------------------------------------
  21. #   {url} 图片文件的网络URL地址
  22. [output_formats]
  23. "bbcode" = "[img]{url}[/img]"
  24. "html" = '<img src="{url}" />'
  25. "markdown-simple" = "![]({url})"
  26. # -----------------------------------------------------------------------------
  27. # 直链替换规则 RawUrl -[replace]-> Url
  28. # -----------------------------------------------------------------------------
  29. # 如果您的网络访问Github异常或者缓慢,您可以尝试下面的配置以开启CDN加速
  30. # [replacements]
  31. # "raw.githubusercontent.com" = "cdn.jsdelivr.net/gh"
  32. # "/master" = "@master"
  33. # =============================================================================
  34. # 以下为各个上传器的配置示例. 用不到的留空即可
  35. # =============================================================================
  36. # Github 上传器
  37. [uploaders.github]
  38. # 保存文件的分支,例如 master 或 main
  39. branch = "master"
  40. # 您的拥有"repo"权限的 Github 令牌
  41. # 获取Github Token连接: https://github.com/settings/tokens
  42. pat = "ghp_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  43. # 您的公共Github存储库的名称
  44. # 注意: 为了让您和他人可以访问到图片资源, 您的Github仓库一定要是公开的,
  45. #       在私有仓库中Github会拦截未授权的请求,你将会得到一个404.
  46. repo = "repo-name"
  47. # 您的 Gtihub 用户名
  48. username = "username"
  49. # SMMS 上传器
  50. [uploaders.smms]
  51. # Get token from https://sm.ms/home/apitoken
  52. token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  53. # Imgur 上传器
  54. [uploaders.imgur]
  55. # Get token from https://api.imgur.com/oauth2/addclient
  56. # See your apps in https://imgur.com/account/settings/apps
  57. client_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  58. # Chevereto Uploader
  59. [uploaders.chevereto]
  60. upload_url = "https://chevereto.com/api/v1/upload"
  61. key = "c8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8"
  62. # 腾讯云 COS
  63. [uploaders.qcloudcos]
  64. host = "xxx.cos.ap-chengdu.myqcloud.com"
  65. secret_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  66. secret_key= "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  67. # 七牛云存储
  68. [uploaders.qiniu]
  69. # Generate Token: http://jsfiddle.net/gh/get/extjs/4.2/icattlecoder/jsfiddle/tree/master/uptoken
  70. token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="
  71. prefix = "https://cdn.mydomain.com/"
  72. # Gitee
  73. [uploaders.gitee]
  74. username = "username"
  75. repo = "repo-name"
  76. # https://gitee.com/profile/personal_access_tokens/new
  77. access_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  78. [uploaders.cloudinary]
  79. cloud_name = "my_cloud"
  80. upload_preset = "preset_name"
  81. [uploaders.easyimage]
  82. request_url = "https://img.545141.com/api/index.php"
  83. token = "1c17b11693cb5ec63859b0ccccccccccc"
  84. #
  85. [uploaders.lskypro2]
  86. host = "http://localhost:8891"
  87. token = "Bearer token"
  88. [uploaders.s3]
  89. region = "us-west-2"
  90. bucket_name = "my-bucket"
  91. access_key = "your-access-key"
  92. secret_key = "your-secret-key"
  93. endpoint = "https://s3.us-west-2.amazonaws.com"
  94. url_format = "{endpoint}/{bucket}/{path}"
复制代码
然后将upgit添加到path路径

测试

2、整合typroa
在typroa的设置-图像中设置upgit


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王海鱼

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表