Markdown图床
图床需求
接触markedown三年左右,不经常写。刚开始用过一段“小书匠”写博客园,主要是语法兼容和图床的问题,还不能跨平台。
之后几乎没用过,最近觉得要建自己的博客,而且也应过经常使用markedown写博客,而(稳定的)图床是不得不面临的。
对本人来说,上传图片的方式最频繁的、最快捷的需求就是直接复制粘贴图片
图床选择
基于国内网络环境,本文推荐两个稳定快速的图床:新浪微博、Imgbb。
一些教程是说到Typora+ipic+七牛云的方式;
不过iPic插件仅支持mac系统,而且我的七牛也没审核通过,所以也没有去倒腾。
新浪微博图床插件
这个得益于github大神的开源项目WeiboPicBed(新浪微博图床 Chrome扩展)
使用方法:Chrome浏览器 + 插件
注意事项:需要提前在chrome里面登录新浪微博
插件特点:
- 支持点选/拖拽/本地粘贴3种方式上传图片至新浪微博图床
- 支持批量上传
- 可选择返回的图片尺寸(三种尺寸大小)
- 可生成图片链接,HTML,UBB和Markdown四种格式
- 上传历史浏览和删除.
- 支持返回https安全协议的图片地址
插件的截图如下:
Imgbb(ibb)图床使用
imgbb网站特点
- 支持中文语言,国内网络可直接访问(美国服务器)
- 支持任意拖放/粘贴图片到网页里面即可上传图片(最大 16 MB,jpg,png,bmp,gif)
- 支持匿名(无登录)上传
- 支持API上传
Java脚本上传
功能
从剪切板中直接复制上传缓存图片到imgbb服务器,返回文本(可粘贴)
原理
简单叙述一下流程:
- 从剪切板中读取图片缓存
- 将图片缓存转base64编码
- API上传图片并返回状态
- 将链接文本复制到剪切板
源码
个人说明:
- 对java有些机制不熟悉,很简单的几个功能硬是各种错误,各种尝试,花了一个晚上才完成。如果有什么问题或者更好的方法欢迎直接批评建议。
- 本程序是Ubuntu系统,复制文字的方法直接(Ctrl+V)粘贴并不起作用,找了好久的教程发现需要保持个系统进程,其他操作系统并未测试。
- Java的http访问也是很不习惯(不熟悉),尤其是post参数,比如字符串类型,json类型,表单类型等的请求很混乱。Header还容易出问题。
1 |
|
期待
- 本文java程序只是一个核心上传的控制台程序,如果可以提供GUI的接口并打成jar包,甚至可以有预览、编辑等简单实用功能,并不见得不是一个高效的可替代方案。
- Flameshot v0.6.0 是Ubuntu平台很强大的一个C++开源截图软件,自带上传Imgur功能,不过看不到具体的配置,而且网络也不通,如果能把这个功能替换或扩展到别的多个可用平台,就方便多了。
相关工具
新浪微博图床 Chrome扩展(github)
https://github.com/Suxiaogang/WeiboPicBed
Imgbb官网
参考
题 复制到全局剪贴板不适用于Ubuntu中的Java