将图片上传至 Minio 的扩展模块
Project description
许可证: 本项目基于 Apache 2.0 许可证 开源,您可以自由使用、修改和分发本项目,但需保留原始版权声明及许可证信息。
—
简介
up2minio 是基于 Sapic 的一个扩展模块,用于将上传的图片保存到自建的 Minio 对象存储中。它支持通过 Minio 的 S3 兼容 API 上传图片,并提供必要的配置与管理功能。
—
安装
正式 ‖ 开发版本
开发版本安装
运行以下命令安装开发版本:
pip install -U git+https://github.com/Daofengql/Sapicbed-Minio-Hook.git@main
—
开始使用
环境准备
部署并运行 Sapic 图床。
确保 Minio 服务已搭建并配置了所需的存储桶(Bucket)。
添加扩展
登录 Sapic 站点管理员后台。
进入 站点管理 > 钩子扩展 页面。
添加钩子扩展: - 模块名称:输入 up2minio。 - 提交保存后,模块会被加载(请确保扩展模块已通过 pip 安装到服务器)。
配置扩展
进入 站点管理 > 网站设置 页面。
在页面底部的钩子配置区域,填写 Minio 的相关信息: - Bucket:Minio 存储桶名称(需公开可读)。 - Region:Minio 服务端的节点名称。 - AccessKey:对存储桶有权限的 Access Key。 - SecretKey:对存储桶有权限的 Secret Key。 - Endpoint:Minio 服务的 S3 API 地址(如 127.0.0.1:9000,无需包含协议头)。 - CDN Domain:自定义 CDN 加速域名,需包含协议头,例如 https://cdn.example.com。 - 存储根目录:图片存储在存储桶内的路径(非存储桶名称)。
启用存储后端
在 站点管理 > 网站设置 > 上传区域 页面。
设置存储后端为 up2minio。
保存设置后,所有上传的图片将存储到 Minio。
—
功能特点
扩展性:基于 Sapic 的钩子架构,可无缝集成。
支持自定义 CDN:通过配置 CDN 域名优化访问速度。
存储路径灵活:支持自定义 Minio 存储根目录。
安全性:通过 AK/SK 验证访问,确保数据安全。
—
API 方法
get_bucket_obj()
返回 Minio 客户端对象。
用途:初始化 Minio 客户端。
upimg_save(**kwargs)
上传图片到 Minio。
参数: - filename:图片文件名。 - stream:图片文件流。 - upload_path:上传路径。
返回:字典,包含上传结果(src 为图片的完整 URL)。
upimg_delete(sha, upload_path, filename, basedir, save_result)
删除存储在 Minio 中的图片。
参数: - sha:图片的哈希值。 - upload_path:上传路径。 - filename:图片文件名。 - basedir:存储根目录。 - save_result:保存时的结果。
返回:无。
—
注意事项
HTTPS 限制:目前仅支持 HTTPS,若 Minio 不支持 HTTPS,请使用 Nginx 配置反向代理解决。
存储桶权限:存储桶需设置为公开可读,以便图片能被外部访问。
路径配置: - Bucket 和 存储根目录 配置正确,否则会导致文件存储失败。
CDN 配置:若未配置 CDN 域名,将直接使用 Minio Endpoint 地址。
—
示例配置
Bucket: my-images
Region: us-east-1
AccessKey: your-access-key
SecretKey: your-secret-key
Endpoint: minio.example.com:9000
CDN Domain: https://cdn.example.com
存储根目录: uploads/images
—
许可证
本项目基于 Apache 2.0 许可证 发布,用户可自由使用、修改和分发,但需保留原始版权声明及许可证信息。
—
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file up2minio-0.0.1.tar.gz
.
File metadata
- Download URL: up2minio-0.0.1.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0911256ccfa1b9f348ff60e51d134404ff4e6ee9d2af37b1de3fafc7998b463d |
|
MD5 | 7db3de14e5413ca7d5ebc6b4617db528 |
|
BLAKE2b-256 | 5abf694c3d5f6b1fda570aa0888c08c5ad0954fd33ec30e3718ce9dde648ee62 |
Provenance
The following attestation bundles were made for up2minio-0.0.1.tar.gz
:
Publisher:
python-publish.yml
on Daofengql/Sapicbed-Minio-Hook
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
up2minio-0.0.1.tar.gz
- Subject digest:
0911256ccfa1b9f348ff60e51d134404ff4e6ee9d2af37b1de3fafc7998b463d
- Sigstore transparency entry: 150956955
- Sigstore integration time:
- Predicate type:
File details
Details for the file up2minio-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: up2minio-0.0.1-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ab374bc7d1fcc84b064af5d7d37abb9a2c2e2712a16a4ec01b53a94fb228ab4 |
|
MD5 | 59aa037a9af552a4b30602a56a244fd1 |
|
BLAKE2b-256 | aa87b75e08559a345aa9c33cdb61c46613f85a67c0984f377d4a35236ae1b820 |
Provenance
The following attestation bundles were made for up2minio-0.0.1-py3-none-any.whl
:
Publisher:
python-publish.yml
on Daofengql/Sapicbed-Minio-Hook
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
up2minio-0.0.1-py3-none-any.whl
- Subject digest:
7ab374bc7d1fcc84b064af5d7d37abb9a2c2e2712a16a4ec01b53a94fb228ab4
- Sigstore transparency entry: 150956959
- Sigstore integration time:
- Predicate type: