标题: [精]Typora自动上传图片 配置式多图床插件2.0
时间: 2020-11-27发布,2020-11-30修改
首先感谢姜辰加精,刚测试了下程序oracle jdk8下可以用,但openjdk11在某些情况下报错,oraclejdk13没得问题,林子里大佬可以帮分析下,我觉得可能是我使用第三方工具包hutool的兼容性问题,所以这里建议使用oracle-jdk吧,如果是windows用户应该不用担心这个问题,基本都是用oracle jdk的。
更新了2.0版本,jar包下载:
https://gitee.com/cwayteam/TyporaUpload/releases/v2.0
说明也改版了,请参看项目中的新说明:
https://gitee.com/cwayteam/TyporaUpload
这次更新主要添加了数据库、图片压缩及gitee图床的支持。
以下旧简介不舍的删留着吧。
简介就不多说了,之前也发了其他类似帖子,执行命令照旧,需配置jdk环境
java -jar 路径/upload.jar
直接看配置截图
若是linux系统并且装了多版本jdk建议使用jdk的全路径命令,例如:
/home/cway/soft/jdk-13/bin/java -jar /home/cway/upload.jar
配置文件为放在jar文件路径下的config.txt文件。例如以下路过、牛图网例子:
{
"current": "niupic",
"bed": {
"imgchr": [{
"url": "https://imgchr.com/1",
"header": {
"Cookie": "填写你的路过图床cookie"
},
"getByReg": "PF.obj.config.auth_token = \"(.*?)\";",
"alis": "token",
"successFlag":"auth_token"
},
{
"url": "https://imgchr.com/json",
"type": "post",
"header": {
"Cookie": "$cookie"
},
"param": {
"type": "file",
"action": "upload",
"timestamp":"$timestamp",
"auth_token":"$token",
"nsfw": "0"
},
"fileFiled": "source",
"getByPath": "image.url",
"successFlag":"\"status_code\":200,",
"out":true
},
],
"niupic":[{
"url": "http://www.niupic.com/index/upload/process",
"type": "post",
"fileFiled": "image_field",
"successFlag":"success",
"getByPath":"data",
"out":true,
"before":"https://"
}]
}
}
这不是一个图床程序,说成是类似postman之类的请求调试工具更加贴切。current填写指定图床,bed里设置图床的相关请求信息,包括请求方式、请求头、请求参数、文件域等,以集合[]形式储存请求信息是想让请求可以根据顺序依次执行。添加新图床时无需改代码,只需配置请求即可。
例如第一个imgchr路过图床配置中有两个请求,第一个请求获取上传所需的auth_token并对返回结果起别名为token,第二个请求中使用该token上传图片。这是个一连贯的流程,你甚至可以配置N多个请求。
current:选定图床
bed:图床配置,可以配置无限个
url:请求地址
type:请求方式 post/get(不填默认为get)
header:请求头信息
param:请求参数
fileFiled:文件域(就是表单中上传文件的name,例如下图中的image_field)
successFlag:成功字符串,即请求后返回的数据判断有没有这个字符串,有则成功,成功后才得以使用getByPath或getByReg进行截取字符串。
getByPath:获取响应数据中具体某值。若请求返回是json数据,则使用该配置,值填json值的路径,例如data.url
getByReg:获取响应数据中具体某值。若返回是文本或html数据则使用正则截取,正则写在小括号里,转义符号为\。
all:若对返回数据不处理全部使用,用 "all":true(值任意,是不是true无所谓)
alis:对返回数据进行别名,或者说是赋值,下个请求中可以用“$别名”调用
before:在返回值前加文字,例如上述niupic的请求返回的网址不带https://,可以使用这个加上
after:在返回值后加文字
out:使用 out:true 表示输出该请求返回值或获取的具体值到控制台(值任意,是不是true无所谓,只要包含out就输出)
上一个请求使用alis进行了别名,例如 "alis":"phone",在第二个请求中用$符号进行调用,例如"phone":"$phone"
设计了几个参数不用赋值就可使用的别名。
$cookie:当第一个请求的header中设置了Cookie,第二个请求中则可直接使用该别名,例如上述案例中路过图床配置
$timestamp:取13位数字时间戳
『回复列表(7|隐藏机器人聊天)』