图床软件竟然要收费,算了我自己写一个免费的

简介: 图床其实就是放图片的空间,我们在网络上浏览的图片,其实都存放在网络的服务器上的,比如qq空间,csdn等等网站。那么既然上面这些网站都已经给我们提供了图床,我们为啥还要自己搭建图床呢? 不知道大家有没有发现,我们在qq空间或者是csdn上传的图片。如果要在其他网站上去引用。这些平台会自动给你加了一个水印。

前言

今天下班前,小编看到隔壁老李,竟然买了一个图床工具。我当场大呵!
小李呀,你咋不找我啊。我有多款免费的图床工具, 全部不要钱。

小李当场吐血去世!

都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免费个人空间。不用白不用。当然如果需要的话,也可以学习一下。如果不想学习就别折腾了,毕竟要费点脑子。

相关文章
|
存储 安全 对象存储
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
本文详细介绍了怎样帮助新手小白从注册,购买阿里云OSS,到一步一步配置OSS做为图床,和PicGo、Typora软件连接,配置好关联之后,在使用Typora写文章时,如果需要插入图片,只需要将图片复制粘贴到Typora的编辑区域,就会自动通过PicGo上传到指定图床,自动复制外网能访问的URL并展示,简直不要太方便,极大的解决了编辑文章时复制处理图片链接的痛点。
15720 16
手把手教你搭建阿里云图床(PicGo+Typora+阿里云OSS),新手小白一看就会
|
缓存 前端开发 JavaScript
通过jsDelivr实现Github图床CDN加速
jsdelivr是一个免费的公共CDN(内容分发网络)服务,它允许网站开发者将他们的代码库、JavaScript库、字体和其他资源托管在jsdelivr上,并通过jsdelivr的CDN网络进行快速分发。使用jsdelivr可以有效地减少用户下载资源的时间,提高网页加载速度,同时减轻原始服务器的负载。
1378 1
|
9月前
|
存储 监控 安全
📤 史上最全阿里云OSS图床搭建指南:告别本地存储,加速网站访问
阿里云OSS图床助力网站性能飞跃:图片加载从4.2秒缩至1.1秒,月流量成本降35%。结合CDN加速与智能优化,实现高速、安全、低成本的图片存储与分发,提升用户体验,释放创作潜能。
|
JSON 前端开发 关系型数据库
如何物业管理(园区式)系统的房屋及设备设施板块?(附架构图+流程图+代码参考)
本文介绍了园区物业管理系统中房屋与设备设施管理的核心内容,涵盖设备信息、巡检、报修、保养四大功能模块,提供系统架构图、数据模型设计、关键实现建议及可落地的代码样例。通过打通资产与运维流程,实现降本增效、减少停机与投诉,助力运维数据化、智能化。
|
9月前
|
存储 缓存 NoSQL
阿里云经济型 e 实例(ecs.e-c1m4.xlarge)4 核 16G:优惠价格解析与性能测评
在阿里云经济型 e 实例的规格中,4 核 16G(ecs.e-c1m4.xlarge)是兼顾 “内存容量与成本” 的实用配置 ——4 核 CPU 能应对多任务并行,16G 大内存可支撑中小型数据库、缓存服务等内存敏感场景,既不像 2 核 8G 那样局限于轻量应用,也不似 8 核 32G 那般成本偏高,因此成为个人开发者、小微企业部署多应用或轻量数据服务的优选。下面从价格构成、性能表现、适用场景三方面,用通俗语言拆解这款实例,帮你判断是否契合需求。
|
存储 存储控制器 Windows
错误代码0x80070570解决办法
错误代码0x80070570通常与文件系统损坏或硬件问题相关,以下是综合解决方案:
4416 24
|
人工智能 自然语言处理 API
推荐几个常用免费的文本转语音工具
本文推荐了几款免费的文本转语音工具,包括功能全面的AI易视频、支持多语言的Google TTS、操作便捷的Natural Reader、离线使用的Balabolka以及轻量级的Speech2Go。其中AI易视频特别适合小说转语音,可智能分配角色音色,打造广播剧般的听觉体验。这些工具各具特色,能满足不同场景需求,助力内容创作更高效。
4425 5
|
人工智能 自然语言处理 人机交互
CosyVoice 2.0:阿里开源升级版语音生成大模型,支持多语言和跨语言语音合成,提升发音和音色等的准确性
CosyVoice 2.0 是阿里巴巴通义实验室推出的语音生成大模型升级版,通过有限标量量化技术和块感知因果流匹配模型,显著提升了发音准确性、音色一致性和音质,支持多语言和流式推理,适合实时语音合成场景。
11066 22
CosyVoice 2.0:阿里开源升级版语音生成大模型,支持多语言和跨语言语音合成,提升发音和音色等的准确性
基于自抗扰控制器和线性误差反馈控制律(ADRC-LSEF)的控制系统simulink建模与仿真
本课题基于自抗扰控制器(ADRC)和线性误差反馈控制律(LSEF),构建了ADRC-LSEF控制系统,并在MATLAB2022a中进行Simulink建模与仿真。ADRC通过实时估计并补偿未知扰动,结合LSEF的快速误差响应,实现了对复杂系统的高效控制。该方法特别适用于非线性、时变或模型未知的系统,具备优异的动态响应和鲁棒性。仿真结果显示系统性能良好,验证了ADRC-LSEF的有效性。
|
人工智能 网络协议 Shell
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
内网穿透实现公网访问自己搭建的Ollma架构的AI服务器
1058 3