Skip to content

高级用法

这里介绍PicList的高级功能,包括命令行使用、内置服务器、文件Web服务器等功能。这些功能继承了PicGo的设计理念,并在此基础上进行了增强。

命令行上传

PicList支持通过命令行进行图片上传,这对于自动化脚本和批处理任务非常有用。

支持的命令

  • upload - 上传剪贴板中的图片
  • upload <图片路径> - 上传指定路径的图片文件

不同平台的使用方法

Windows

bash
# 基本用法
"<PicList安装路径>\PicList.exe" upload

# 上传指定文件
"<PicList安装路径>\PicList.exe" upload "C:\path\to\image.jpg"

macOS

bash
# 基本用法
/Applications/PicList.app/Contents/MacOS/PicList upload

# 上传指定文件
/Applications/PicList.app/Contents/MacOS/PicList upload "/path/to/image.jpg"

Linux

bash
# 基本用法
"<PicList安装路径>/PicList.AppImage" upload

# 上传指定文件
"<PicList安装路径>/PicList.AppImage" upload "/path/to/image.jpg"

内置HTTP服务器

PicList内置了一个功能强大的HTTP服务器,用于接收来自其他应用程序或远程主机的上传请求。这使得PicList可以作为一个图床服务来使用。

服务器配置

  • 默认监听地址: 0.0.0.0 (监听所有网络接口)
  • 默认监听端口: 36677
  • 访问地址: http://127.0.0.1:36677

接口鉴权

当服务器暴露到公网时,强烈建议启用接口鉴权功能以防止恶意上传。

202310102349225

在发送请求时,需要在URL中添加查询参数 key

bash
http://127.0.0.1:36677/upload?key=your-secret-key

API接口详解

1. 表单上传 v2.6.3+

请求信息:

  • 请求方法: POST
  • 请求URL: http://127.0.0.1:36677/upload
  • 请求体格式: multipart/form-data
  • 文件字段: 任意字段名,值为图片文件

示例请求:

bash
curl -X POST \
  -F "image=@/path/to/your/image.jpg" \
  http://127.0.0.1:36677/upload

响应数据:

json
{
  "success": true,
  "result": ["https://example.com/uploaded-image.jpg"],
}

2. 上传剪贴板图片

请求信息:

  • 请求方法: POST
  • 请求URL: http://127.0.0.1:36677/upload
  • 请求体格式: application/json
  • 请求体内容: {} (空JSON对象)

示例请求:

bash
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{}' \
  http://127.0.0.1:36677/upload

响应数据:

json
{
  "success": true,
  "result": ["https://example.com/clipboard-image.png"],
}

3. 上传指定路径图片

请求信息:

  • 请求方法: POST
  • 请求URL: http://127.0.0.1:36677/upload
  • 请求体格式: application/json
  • 请求体内容: {"list": ["图片路径1", "图片路径2", ...]}

示例请求:

bash
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"list": ["/path/to/image1.jpg", "/path/to/image2.png"]}' \
  http://127.0.0.1:36677/upload

响应数据:

json
{
  "success": true,
  "result": [
    "https://example.com/image1.jpg",
    "https://example.com/image2.png"
  ],
}

高级功能

指定图床和配置

PicList支持通过URL查询参数来指定特定的图床和配置文件:

参数说明:

  • picbed: 指定图床类型(如 aws-s3, qiniu, upyun 等)
  • configName: 指定配置文件名称

示例:

bash
http://127.0.0.1:36677/upload?picbed=aws-s3&configName=piclist-test

这将使用 aws-s3 图床和 piclist-test 配置文件进行上传。

4. 删除图片

请求信息:

  • 请求方法: POST
  • 请求URL: http://127.0.0.1:36677/delete
  • 请求体格式: application/json
  • 请求体内容: {"list": [fullResult对象数组]}

示例请求:

bash
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"list": []}' \
  http://127.0.0.1:36677/delete

响应数据:

json
{
  "success": true,
  "message": "删除成功"
}

5. 健康检查

请求信息:

  • 请求方法: GETPOST
  • 请求URL: http://127.0.0.1:36677/heartbeat

示例请求:

bash
curl http://127.0.0.1:36677/heartbeat

响应数据:

json
{
  "success": true,
  "result": "alive"
}

6. API文档

请求信息:

  • 请求方法: GET
  • 请求URL: http://127.0.0.1:36677http://127.0.0.1:36677/upload

直接在浏览器中访问上述地址即可查看完整的API文档和测试界面。

内置文件Web服务器

PicList提供了内置的文件Web服务器功能,允许通过HTTP协议访问本地文件系统。这个功能类似于 python -m http.server 命令或 EasyWebServer 软件。

服务器配置

  • 默认监听地址: 0.0.0.0 (本机所有IP地址)
  • 默认监听端口: 37777
  • 默认根目录:
    • Windows: C:\Users
    • macOS/Linux: / (根目录)

如何启用

  1. 打开PicList设置
  2. 导航到 设置高级设置设置Web服务
  3. 启用文件Web服务器功能
  4. 配置监听地址、端口和根目录

使用方法

启用服务器后,在浏览器中访问 http://127.0.0.1:37777 即可浏览和访问本地文件。

202405101519434

Tip

注意不能设置端口为36699,因为这个端口被PicList内置服务占用

安全提示

  • 文件Web服务器会暴露指定目录下的所有文件
  • 在公网环境下使用时请谨慎设置根目录
  • 建议仅在可信网络环境中使用此功能

移动端联动 - PicHoro

如果您希望在移动设备上使用类似PicList的功能,可以安装配套的移动应用:PicHoro

配置同步功能

PicList支持通过二维码快速导入配置到PicHoro:

  1. 在PicList主窗口点击左下角信息栏按钮
  2. 选择「生成图床配置二维码」菜单
  3. 使用PicHoro的扫码功能扫描二维码
  4. 一键导入图床配置

导出配置二维码

PicHoro功能特点

  • 支持多种主流图床
  • 批量上传图片
  • 历史记录管理
  • 与PicList配置完全兼容
  • 支持Android平台

通过这种方式,您可以在桌面端和移动端之间无缝同步图床配置,实现跨设备的一致体验。

Released under the MIT License.