This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

图像转 Base64

将一个或多个图像转换为 base64 编码的字符串和 data URI。支持可选的格式转换、质量控制和调整大小。适用于将图像直接嵌入 HTML、CSS、JSON 或电子邮件模板。

API 端点

POST /api/v1/tools/image/image-to-base64

接受包含一个或多个图像文件的 multipart 表单数据,以及一个可选的 JSON settings 字段。

参数

参数类型是否必填默认值说明
outputFormatstring"original"编码前转换:originaljpegpngwebpavifjxl
qualitynumber80有损格式的输出质量(1 到 100)
maxWidthnumber0最大宽度(像素,0 = 不调整大小,不会放大)
maxHeightnumber0最大高度(像素,0 = 不调整大小,不会放大)

请求示例

bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"outputFormat": "webp", "quality": 80, "maxWidth": 200}'

多个文件:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={"outputFormat": "original"}'

响应示例

json
{
  "results": [
    {
      "filename": "icon.png",
      "mimeType": "image/webp",
      "width": 200,
      "height": 200,
      "originalSize": 45000,
      "encodedSize": 28800,
      "overheadPercent": -36.0,
      "base64": "UklGRlYAAABXRUJQ...",
      "dataUri": "data:image/webp;base64,UklGRlYAAABXRUJQ..."
    }
  ],
  "errors": []
}

响应字段

字段类型说明
resultsarray成功转换的图像
errorsarray处理失败的图像(含文件名和错误信息)

Result 对象

字段类型说明
filenamestring原始文件名
mimeTypestring编码输出的 MIME 类型
widthnumber最终宽度(像素,调整大小后)
heightnumber最终高度(像素,调整大小后)
originalSizenumber原始文件大小(字节)
encodedSizenumberbase64 字符串大小(字节)
overheadPercentnumber相对原始文件的大小差异百分比(正数 = 更大,负数 = 更小)
base64string原始 base64 编码的图像数据
dataUristring可直接用于 src 属性的完整 data URI

说明

  • 与二进制文件相比,Base64 编码通常会使大小增加约 33%。overheadPercent 字段显示了实际差异。
  • outputFormat"original" 时,HEIC/HEIF 文件会被转换为 JPEG(因为浏览器无法在 data URI 中显示 HEIC)。
  • maxWidthmaxHeight 选项使用 fit: inside 配合 withoutEnlargement 进行调整大小,因此小于指定尺寸的图像不会被放大。
  • 单个请求中可处理多个文件。每个文件独立处理,失败不会影响其他文件成功。
  • SVG 文件会作为 image/svg+xml 直接传递而不重新编码(除非请求了格式转换)。
  • 这是一个只读端点。它不会生成可下载文件或 jobId。base64 数据会直接在响应体中返回。