#简易图片上传工具
为了能够方便的保存图片以及在文章中插入图片,将图片保存在图床上再获取图片链接即可。
准备
- 图床(github,gitee,云平台阿里云七牛云等等)
这里以七牛云为例
申请七牛云存储空间
- 教程https://blog.youkuaiyun.com/qq_29086527/article/details/117688495
- 为该存储空间绑定域名,并配置域名的CHAME 教程
- 测试,使用 域名+文件名的方式能否访问到图片
编写上传图片代码
-
在七牛云个人中心查看 secret_key ans access_key
-
安装七牛云python sdk
pip install qiniu
- 编写脚本 创建一个.py文件
# -*- coding: utf-8 -*-
# flake8: noqa
from qiniu import Auth, put_file, etag
import qiniu.config
import sys
import time
defaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:
reload(sys)
sys.setdefaultencoding(defaultencoding)
#需要填写你的 Access Key 和 Secret Key bucket_name以及域名
access_key = 'your access_key '
secret_key = 'your secret_key'
cdn_path='你的域名'
#要上传的空间
bucket_name = 'your bucket_name'
#构建鉴权对象
q = Auth(access_key, secret_key)
#上传后保存的文件名
t = time.time()
lens=len(sys.argv)
if lens==3:
key = sys.argv[1]+str(round(t * 1000))
elif lens==2:
key=str(round(t * 1000))
else:
print('参数错误')
sys.exit(0)
#生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name, key, 3600)
#要上传文件的本地路径
if lens==3:
localfile = sys.argv[2]
elif lens==2:
localfile = sys.argv[1]
ret, info = put_file(token, key, localfile, version='v2')
print(cdn_path+str(key))
assert ret['key'] == key
assert ret['hash'] == etag(localfile)
自定义Linux命令
- 创建一个文件 xxx即你的命令名字
gedit xxx
- 编写shell 文件
#!/bin/bash
#this is a ima upload shell
python 上面的上传代码文件地址 $*
- 修改文件权限
sudo chmod 777 xxx
- 将文件移动至 /usr/bin
sudo mv xxx /usr/bin
- 测试
xxx filename test.png
两个参数 第一个自定义图传上传后文件名 第二个参数为本地图片路径 (第一个参数可省略)