前言
今天下班前,小编看到隔壁老李,竟然买了一个图床工具。我当场大呵!
小李呀,你咋不找我啊。我有多款免费的图床工具, 全部不要钱。
小李当场吐血去世!
都2222年了,不会有人不知道什么是图床吧。
什么是图床?
图床其实就是放图片的空间,我们在网络上浏览的图片,其实都存放在网络的服务器上的,比如qq空间,csdn等等网站。
那么既然上面这些网站都已经给我们提供了图床,我们为啥还要自己搭建图床呢? 不知道大家有没有发现,我们在qq空间或者是csdn上传的图片。如果要在其他网站上去引用。这些平台会自动给你加了一个水印。
还有更气人的,它直接给你403,然后给你显示一个其他的图片。
所以说对于那些个人博客网站,千万不能使用外链的图片,否则可能那天就不能在访问了。前车之鉴,后车请自动饶坑。
申请免费空间 + 自定义水印
前面我们说了图床是什么,其实就是找个能放图片的网络空间。那么有没有免费的空间呢? 当然有了。某🐂 云对个人用户提供10g的免费空间。你写博客用不了10g吧。另外还支持cdn加速,还能自定义水印。
以免被认为小编是在说广告,这里就不说是哪个厂子了。如果有人知道的,可以留下评论。如果不知道的点击关注,我们细细再聊。
下面教大家如何正确使用图床,然后做一个懒人。
懒人1.0版本
基于python写的一个脚本。先演示。这个脚本的好处是,任何文件都能上传。不管是图片还是文件,都可以上传的个人空间。坏处是每次要上传文件都要进到命令控制台。
以下脚本送上,拿走不谢。这个脚本我用了1年。后来我又变懒了。于是懒人2.0版本要出来了。
from prettytable import PrettyTable
import argparse
import hashlib
import time
import uuid
from colorama import init, Fore, Back
class Color:
@staticmethod
def red(s, isLight=False):
if not isLight:
return Fore.RED + s + Fore.RESET
return Fore.LIGHTRED_EX + s + Fore.RESET
@staticmethod
def green(s, isLight=False):
if not isLight:
return Fore.GREEN + s + Fore.RESET
return Fore.LIGHTGREEN_EX + s + Fore.RESET
@staticmethod
def yellow(s, isLight=False):
if not isLight:
return Fore.YELLOW + s + Fore.RESET
return Fore.LIGHTYELLOW_EX + s + Fore.RESET
@staticmethod
def white(s, isLight=False):
if not isLight:
return Fore.WHITE + s + Fore.RESET
return Fore.LIGHTWHITE_EX + s + Fore.RESET
@staticmethod
def blue(s, isLight=False):
if not isLight:
return Fore.BLUE + s + Fore.RESET
return Fore.LIGHTBLUE_EX + s + Fore.RESET
@staticmethod
def black(s, isLight=False):
if not isLight:
return Fore.BLACK + s + Fore.RESET
return Fore.LIGHTBLACK_EX + s + Fore.RESET
def fileByLocation(fileLocation):
'''从完整的路径名计算出文件名'''
if fileLocation.count('/') > 0:
return fileLocation.split('/')[-1]
else:
return fileLocation
def fileNameEncode(fileName, prefix):
'''文件名加密,使用md算法'''
index = fileName.index('.')
random_str = str(uuid.uuid1())
preFileName = fileName[0:index] + random_str;
fileEncode = hashlib.md5(preFileName.encode(encoding='UTF-8')).hexdigest()
suffix = fileName[index:]
return prefix + '_' + fileEncode + suffix
def checkBucketName(bucket_name):
if not bucket_name:
return "springlearn"
return bucket_name
parser = argparse.ArgumentParser(description="图床工具")
parser.add_argument('-i', '--imgLocation', type=str, help='文件地址')
parser.add_argument('-b', '--bucket_name', type=str, help='bucket_name')
parser.add_argument('-p', '--prefix', type=str, help='bucket_name')
args = parser.parse_args()
bucket_name = checkBucketName(args.bucket_name)
# 文件的完整路径
fileLocation = args.imgLocation
# 命名前缀
prefix = args.prefix
# 根据文件路径获取文件名
fileName = fileByLocation(fileLocation)
# 对文件名进行加密
if (prefix == None):
key = fileNameEncode(fileName, "learn")
else:
key = fileNameEncode(fileName, prefix)
access_key = '换成自己的秘钥'
secret_key = '换成自己的秘钥'
q = Auth(access_key, secret_key)
token = q.upload_token(bucket_name, key, 3600)
ret, info = put_file(token, key, fileLocation)
base_table_head = ["文件名", "加密文件名", "上传路径", "外链", "时间", "成功"]
table = PrettyTable(base_table_head)
raw = list()
raw.append(fileName)
raw.append(key)
raw.append(fileLocation)
raw.append("https://img.springlearn.cn/{0}".format(key))
raw.append(time.strftime('%Y-%m-%d %H:%M:%S'))
raw.append(info.ok())
table.add_row(raw)
print(Color.green(str(table)))
懒人2.0版本
懒人2.0就是解决,懒人1.0的问题,不再需要每次上传时候进入到控制台,只要进行截图。然后输入快捷键,就会自动读取粘贴板图片进行上传,上传后发送通知,并且自动转换成markdown语法,重新放到粘贴板中,然后只用ctrl+v黏贴就可以了。于是我又又用了一年。
上面就是软件打开的样子,什么都没有,只绑定了一个快捷键。😂
如此简单。当执行快捷键后会自动上传,然后发出一个通知。如下。点击通知后自动打开图片,ctrl+v后直接输出到文档中。
于是我又用了一年。后来我又又又变懒了。于是懒人3.0诞生了。
懒人3.0版本
懒人3.0版本,我甚至连快捷键都不想按了。我还变的贪心了,我不仅要有快捷键我还要可视化,所见即所得,凡是能看到的图片都可以直接拖动上传,并且要具备我懒人2.0所有的功能。我甚至为了
解决看时间的问题,我还添加了一个时钟功能,来提醒我: 打工人,六点了,该下班了。不要在卷了。
甚至为了保护我的眼镜,还增加了一个主题功能,一键打开暗黑模式。
分享给大家
最后我把他开源了,支持window和mac系统。我想我应该还能再用一年吧。毕竟我还没想到,有更懒人的办法。
友情提醒: 如果要使用,最终还是要配置个人的空间。如果不会配置的,点击关注,我们细细交流。每人10个g免费个人空间。不用白不用。当然如果需要的话,也可以学习一下。如果不想学习就别折腾了,毕竟要费点脑子。