知识准备
Workflow 支持 Triggers、Inputs、Actions、Utilities,Outputs 共 5 项主要功能
- 输入包含 Triggers(触发器)和 Inputs(输入触发);
- Triggers 中的流程可以触发 Inputs 的流程,反之则不行,同时它们都可以触发其它后续流程。
- 输出即 Outputs,包含了通知,放大展示、复制到剪切板,写入文本、播放声音、触发其它流程等。
- 中间 Actions 包含打开文件、在 finder 中展示文件、唤起 app、打开 web search、打开 URL、执行系统命令、执行 iTunes 命令、执行脚本、执行 AppleScript 脚本、在终端中执行命令等。
- Utilities 包含了一些公共组件,如变量设置、json 配置、过滤、转换、替换、延时、debug 等。
需求
无论用哪个工具截图后,在剪贴板中都有这个图片的二进制信息,把这个二进制信息自动上传到各大图床平台上 包括但不限于:
- 阿里云oss
- 七牛云
- 腾讯云cos
- 坚果云
- 百度云
进阶:
- 在finder中选中文件,也可把该文件上传到云上
- 剪贴板中url图片 自动上传到云上
快捷键及使用
tc
[oss/qn/ts]
wntc
[oss/qn/ts]
wn
[oss/qn/ts]
- 默认不写参数 上传到所有能够上传的云上并返回优先级最高的那个云的地址
- 可以填写指定图床的 缩写,只上传到该图床并只返回该图床url
开发
安装操纵macos 剪贴板所需包
sudo pip install PyObjC --user
腾讯云cos
-
安装官方sdk 下载cos-python-sdk-v5 到workflow目录下
-
登录腾讯云创建存储桶
-
在腾讯云控制台创建子账号,使该账号具有存储桶的读写权限
-
复制SecretI和SecretKey填写到workflow的变量中
阿里云oss
直接安装官方sdk
pip install oss2
程序示意图
看到了一个软件https://toolinbox.net/iPic/ 可惜要收费
万能图床源码地址: https://github.com/juforg/wntc.alfredworkflow
参考
https://sspai.com/post/44624 https://github.com/tiann/markdown-img-upload https://blog.csdn.net/u014600626/article/details/53635192 https://blog.csdn.net/linjf520/article/details/52225007 https://www.cnblogs.com/tina-python/p/5508402.html
可能遇到的错误
- 1
1
2
3
4
5
6
7
8
9[2018-07-31 11:42:33][ERROR: action.script] Traceback (most recent call last):
File "<string>", line 3, in <module>
File "/Library/Python/2.7/site-packages/qcloud_cos/__init__.py", line 1, in <module>
from .cos_client import CosS3Client
File "/Library/Python/2.7/site-packages/qcloud_cos/cos_client.py", line 21, in <module>
from .cos_threadpool import SimpleThreadPool
File "/Library/Python/2.7/site-packages/qcloud_cos/cos_threadpool.py", line 5, in <module>
from six.moves.queue import Queue
ImportError: No module named queue