Typora 自定义图床——Windows 脚本

Typora 自定义图床——Windows 脚本

实现 typora 通过自定义的上传路径实现图床功能

  • 新建 typora_upload.bat
  • 输入下面的内容
@echo off
rem @echo off&setlocal enabledelayedexpansion

set param_index=0
set param_array=[]
rem file upload server url
set upload_url=http://localhost:10004/test/upload
rem upload network image
set upload_online=http://localhost:10004/test/upload/network

rem get bat params
:ParseParam
set str=%1
if defined str (
  set param_array[%param_index%]=%str%
  set /a param_index=%param_index% + 1

  shift /0
  goto ParseParam
)

:EndParseParam
if %param_index% EQU 0 (
    goto Eof
)

set request_index=0
set result_arry=[]

SETLOCAL ENABLEDELAYEDEXPANSION

rem upload files
:RequestLoop
if %request_index% GEQ %param_index% goto EndRequestLoop 
FOR /F "usebackq delims=] tokens=1-2" %%I IN (`SET param_array[%request_index%]`) DO (
  set param_item=%%J
  set param_item=!param_item:~1!
  if "!param_item:~1,4!" == "http" (
    echo "upload file form network"
    echo 'curl -s  -X POST %upload_online% -H "Accept: application/json" -H "Content-type: application/json" -H "File-Url: !param_item:~1,-1!"'
    for /f %%R in ('curl -s -H "Accept: application/json" -H "Content-type: application/json" -H "File-Url: !param_item:~1,-1!" -X POST %upload_online%') do (
      set result_arry[%request_index%]=%%R
    )
  ) else (
    echo "upload file form localhost"
    for /f %%R in ('curl -s %upload_url% -F "filename=@!param_item!"') do (
      set result_arry[%request_index%]=%%R
    )
  )
)
SET /A request_index=%request_index% + 1
GOTO RequestLoop

:EndRequestLoop

set result_index=0

rem echo urls
echo Upload Success:
:PrintResultLoop
if %result_index% GEQ %request_index% goto Eof 
FOR /F "usebackq delims=] tokens=1-2" %%I IN (`SET result_arry[%result_index%]`) DO (
  set parse_url=%%J
  echo !parse_url:~1!
)
set /A result_index=%result_index% + 1
GOTO PrintResultLoop

:Eof
ENDLOCAL
  • typora 中 图像设置,选择该脚本路径
  • 完成

版权声明:本文为qq_28038487原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。