当前位置: 首页 > news >正文

Typora 中设置图像上传到博客园中

适配入口

在 Typora 的选项栏中,文件→偏好设置→图像→上传服务设定,其中可以看到官方提供了几种不同的图片上传服务,其中最底下还预留了一个 [自定义命令],这个可以留给我们自己适配,因此很容易联想到博客园的图片上传服务能否适配?

适配教程

如何完成适配呢?可以看到下方有一个说明链接

点开后可以看到在 custom 章节中,官方文档指出:

简单理解就是可以自行写一个脚本,然后通过命令行参数接收来自 Typora 的图片本地路径即可,如果有很多张图片,可以多次调用。

此外,官方还提供了可能出现的问题及解决方法。

适配脚本

我们知道博客园开发了 vscode 插件是可以提供图片上传功能的,那么主要用到的是什么接口呢?

这里主要用的就是 MetaWeblog API ,它支持上传图片、发布文章。

在博客园后台的设置中,最底下有:

我们将 “允许 MetaWeblog 博客客户端访问” 设置为开启,于是可以得到:

  • MetaWeblog登录名【USERNAME】
  • MetaWeblog访问令牌【PASSWORD】
  • MetaWeblog访问地址【BLOG_URL】

这些参数就是每个人独立的接口参数,于是向豆包咨询后,得到下面的代码:

#!/bin/bash set -euo pipefail # ==================== 你的配置 ==================== BLOG_URL="你的MetaWeblog" USERNAME="你的MetaWeblog登录名" PASSWORD="你的MetaWeblog访问令牌" BLOG_ID="你的博客园用户目录路径,如 https://www.cnblogs.com/gshang ,就是 gshang" # ================================================== echo "Upload Success:" for img_path in "$@"; do # 转换路径 [[ "$img_path" == [A-Za-z]:\\* ]] && img_path=$(cygpath -u "$img_path") # 基础信息 filename=$(basename "$img_path") mime=$(file -b --mime-type "$img_path") # 【关键修复】用临时文件,避免参数过长 xml_file=$(mktemp) # 写入 XML(不从命令行传,彻底解决超长) cat > "$xml_file" <<EOF <?xml version="1.0" encoding="utf-8"?> <methodCall> <methodName>metaWeblog.newMediaObject</methodName> <params> <param><value><string>${BLOG_ID}</string></value></param> <param><value><string>${USERNAME}</string></value></param> <param><value><string>${PASSWORD}</string></value></param> <param><value><struct> <member><name>name</name><value><string>${filename}</string></value></member> <member><name>type</name><value><string>${mime}</string></value></member> <member><name>bits</name><value><base64>$(base64 -w 0 "$img_path")</base64></value></member> </struct></value></param> </params> </methodCall> EOF # 【关键修复】从文件读取 XML,不拼命令行 resp=$(curl -s -X POST \ -H "Content-Type: text/xml; charset=utf-8" \ --data-binary "@$xml_file" \ "$BLOG_URL") # 提取 URL(100% 兼容 Windows) url=$(echo "$resp" | sed -n 's/.*<string>\(https[^<]*\)<\/string>.*/\1/p' | head -1) # 输出给 Typora [ -n "$url" ] && echo "$url" || echo "" # 清理临时文件 rm -f "$xml_file" done

将你的信息填写后,保存为cnblogs.sh,并将其放到Typora.exe同一目录下,我的目录是:

D:\Program Files\Typora\cnblogs.sh

最后,确保你已经安装了git-bash,想必作为程序员应该都装了的。我的安装目录是

D:\Program Files\Git\bin\bash.exe

于是我们得到最终输入给 Typora 的命令行:

"D:\Program Files\Git\bin\bash.exe" "D:\Program Files\Typora\cnblogs.sh"

点击 "验证图片上传选项" ,可以看到图片上传成功:

日常使用测试

在 Typora 中提供了两种上传图片的形式:

单张图片上传

http://www.jsqmd.com/news/1071846/

相关文章:

  • 第2篇:Winsock API Hook — 在应用层精确动刀
  • 技术分享|坐骨神经损伤(SNI)大鼠模型构建方案
  • 选择千舟春考培训基地,助力学生把握升学新路径
  • Citra模拟器:5步解决黑屏卡顿,让3DS游戏流畅运行
  • 工业电源生产商
  • Visual Studio 四月更新 —— Cloud Agent 集成
  • 如何快速掌握authentik:5个实用技巧让身份认证管理更简单
  • Rust为何成为AI智能体视觉(TVA)的“免疫系统”(系列)
  • 让你的浏览器拥有AI大脑:Page Assist本地智能助手完全指南
  • 5分钟快速上手Penpot:开源设计平台团队协作实战指南
  • Mac Mouse Fix:用开源神器让你的普通鼠标在macOS上超越苹果原生体验
  • AI开发-python-langchain框架(3-16-angent的创建及注册tool)
  • 2026年小程序商城需要多少钱呢
  • 创远T5260A-2KU矢量网络分析仪聚氨酯薄膜微同轴屏蔽测试实例
  • Rust为何成为AI智能体视觉(TVA)的“免疫系统”(5)
  • 终极指南:如何使用Neural Amp Modeler快速训练专业级吉他音箱模拟
  • Buccalin;GMDSLASGGL-NH₂
  • 抢抓 AI 搜索新风口|2026 广州本土 GEO 优质服务商实力盘点
  • hghac集群服务器时间同步(chrony同步)
  • 基站天馈巡检效率翻倍,思仪 1466 信号源打造外场测试新标准
  • 【回眸】英语进阶经验分享
  • 云端GPU算力使用教程:在VeryAI平台完成深度学习模型训练全
  • 告别手机依赖:在电脑上直接控制索尼耳机的完整指南
  • 【2026最新】Omofun官方下载、安装和使用全流程攻略(附安装包+图文步骤)
  • 【AI】Trae集成Claude Code插件实现自动化编程
  • THP-CSK靶场--内网横向移动(一)
  • Apache POI Excel 导出样式美化实战指南
  • 如何在3分钟内掌握Penpot:开源设计工具的完整入门指南
  • Django-Material 布局魔法:如何用三行代码重构你的后台管理界面
  • Android设备完整性修复的终极方案:PlayIntegrityFix深度解析与实战指南