前言说明

一款专门为满足个人需求而打造的高效图床解决方案,将强大的图片压缩功能与美观且实用的前台后台管理界面相融合。

项目的结构精巧高效,能够提供自定义的图片压缩率与尺寸设定,从而显著降低存储和带宽方面的成本。

支持上传 JPEG、PNG、GIF 格式的图片,并可将其转换为 WEBP 格式,同时也支持上传 SVG、WEBP 图片。

不仅支持本地储存、OSS 储存、S3 存储,还可以通过把储存桶挂载到本地的方式来开启更多的储存选择。

拥有简洁而美观的前端界面,支持点击、拖拽、粘贴、URL 以及批量上传等多种操作方式。

后台采用瀑布流管理模式,方便对图片进行管理,并且支持图片灯箱效果以及 AJAX 无加载刷新。

支持自定义压缩率,默认值为 60,还可以根据需求自行修改。同时支持对每日上传限制和单次上传限制进行调整。

项目简介

PixPro 是一款专为个人需求而设计的高效图床,其集成了强大的图片压缩功能以及优雅的前台。后台管理采用瀑布流展示,并具备 AJAX 刷新功能,能够切实降低存储与带宽成本。

PixPro开源图床|非常强大的压缩率插图

本项目由数个简洁的文件构成。采用便捷高效的方式对图片进行压缩,并且支持自定义压缩率和尺寸。

旨在帮助大家减少在图片储存、流量等方面的花费。

如果有更换存储策略的需求,在安装完成后需要对 config.ini 文件进行修改。

例如,在图片上传方面,用户可以轻松地通过点击操作选择本地图片进行上传,也能通过拖拽将图片快速拖入上传区域。而在存储成本控制上,自定义压缩率的功能就显得尤为实用,假如默认的 60 压缩率不能满足需求,用户可以将其调整为 50 或者 70 等,以在图片质量和存储成本之间找到最佳平衡。

安装教程

首先下载源码ZIP,将文件上传到网站根目录,访问网址 ,填写相关信息,即可完成安装。

运行环境

推荐PHP 8.1 + MySQL >= 5.7

本程序依赖PHP的 Fileinfo 、 Imagick 拓展,需要自行安装。依赖 pcntl 扩展(宝塔PHP默认已安装)

要求 pcntl_signal 和 pcntl_alarm 函数可用(需主动解除禁用)。

配置伪静态

设置如下 nginx 规则

location ~* /config\.ini$ {
deny all;
}

上传限制

编辑 config/validate.php 文件。同步修改static/js/script.js的头部内容

修改后台地址

直接修改 admin 目录名即可

拓展功能

本程序支持 UPGIT 对接在Typora使用,对接方法如下:

UPGIT 配置信息

在upgit.exe所在目录下新建config.toml文件。文件内容如下:

default_uploader = "easyimage"

[uploaders.easyimage]
request_url = "https://xxx.xxx.xxx/api.php"
token = "1c17b11693cb5ec63859b091c5b9c1b2"

创建一个 upgit.exe 的同级目录:extensions

然后到 extensions 目录下新建一个 easyimage.jsonc 文件,输入下面的内容并保存。

{
    "meta": {
        "id": "easyimage",
        "name": "EasyImage Uploader",
        "type": "simple-http-uploader",
        "version": "0.0.1",
        "repository": ""
    },
    "http": {
        "request": {
            // See https://www.kancloud.cn/easyimage/easyimage/2625228
            "url": "$(ext_config.request_url)",
            "method": "POST",
            "headers": {
                "Content-Type": "multipart/form-data",
                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36"
            },
            "body": {
                "token": {
                    "type": "string",
                    "value": "$(ext_config.token)"
                },
                "image": {
                    "type": "file",
                    "value": "$(task.local_path)"
                }
            }
        }
    },
    "upload": {
        "rawUrl": {
            "from": "json_response",
            "path": "url"
        }
    }
}

接入到 Typora

转到 Image 选自定义命令作为图像上传器,在命令文本框中输入 Upgit 程序位置,然后就可以使用了:

PixPro开源图床|非常强大的压缩率插图

1.使用本站下载的源码仅限于个人学习和非商业用途。
2.禁止将本站下载的源码用于搭建或支持任何违法、淫秽、暴力或侵犯他人合法权益的网站或应用。
3.使用本站下载的源码需遵守国家法律法规及相关规定,不得从事任何违法活动。
4.如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。