开源版PixPro若梦图床 图片在线压缩系统网站源码

源码简介

一款高效且可个性化配置的图床工具,它结合了先进的图片压缩技术与直观的管理界面,旨在优化存储空间和带宽使用。

该解决方案结构精巧,允许用户根据个人需求调整图片压缩率和尺寸,从而有效减少资源消耗。

它支持多种图片格式,包括JPEG、PNG、GIF上传并自动转换为WEBP格式,同时也支持SVG和WEBP格式的直接上传。

在存储方面,提供了灵活的选项,包括本地存储、OSS以及S3存储,并且可以通过将存储桶挂载到本地来进一步扩展存储选项。

前端设计简洁而美观,支持多种上传方式,包括点击、拖拽、粘贴、通过URL以及批量上传,使得图片上传变得无比便捷。

后台管理采用瀑布流布局,提供便捷的图片管理功能,包括图片灯箱展示和AJAX无刷新加载,增强了用户体验。

此外,用户可以根据需要自定义图片压缩率,默认为60%,并且可以设置每日和单次上传的限制,以适应不同的使用场景。

源码预览

图片[1]-开源版PixPro若梦图床 图片在线压缩系统网站源码-明月资源网

安装说明

上传限制:

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

<?php
// 设置参数
$maxUploadsPerDay = 50; // 每天最多上传50次
$maxFileSize = 5 * 1024 * 1024; // 文件大小限制 5MB 修改这里同步修改 script.js

function isUploadAllowed($maxUploadsPerDay) {
    $cookieName = 'upload_count';
    $currentDate = date('Y-m-d');
    if (isset($_COOKIE[$cookieName])) {
        $uploadCounts = json_decode($_COOKIE[$cookieName], true);
        if ($uploadCounts['date'] === $currentDate) {
            if ($uploadCounts['count'] >= $maxUploadsPerDay) {
                return '上传次数过多,请明天再试';
            }
            $uploadCounts['count']++;
        } else {
            $uploadCounts = [
                'date' => $currentDate,
                'count' => 1
            ];
        }
    } else {
        $uploadCounts = [
            'date' => $currentDate,
            'count' => 1
        ];
    }
    // 设置 Cookie,过期时间为一天
    setcookie($cookieName, json_encode($uploadCounts), time() + 86400, "/");

    return true;
}

$uploadCheck = isUploadAllowed($maxUploadsPerDay);
if ($uploadCheck !== true) {
    echo json_encode(['error' => $uploadCheck]);
    exit();
}

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['image'])) {
    $file = $_FILES['image'];

    if ($file['size'] > $maxFileSize) {
        $maxFileSizeMB = $maxFileSize / (1024 * 1024);
        echo json_encode(['error' => '文件大小超过限制,最大允许 ' . $maxFileSizeMB . 'MB']);
        exit();
    }

    echo json_encode(['success' => '文件上传成功']);
} else {
    echo json_encode(['error' => '无效的请求']);
}
?>

修改后台地址:

直接修改 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若梦图床 图片在线压缩系统网站源码-明月资源网
开源版PixPro若梦图床 图片在线压缩系统网站源码
此内容为付费资源,请付费后查看
100积分
客服邮箱:myzyw888@qq.com
付费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容