Files
SnapOtter/apps/docs/vi/tools/image/image-to-base64.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

4.6 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Chuyển đổi ảnh thành data URI base64 để nhúng vào HTML, CSS và nhiều nơi khác. ba4b8f3b4ece human 17e30396b4e5

Ảnh sang Base64

Chuyển đổi một hoặc nhiều ảnh thành chuỗi được mã hóa base64 và data URI. Hỗ trợ chuyển đổi định dạng tùy chọn, kiểm soát chất lượng và thay đổi kích thước. Hữu ích để nhúng ảnh trực tiếp vào HTML, CSS, JSON hoặc mẫu email.

Điểm cuối API

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

Chấp nhận dữ liệu biểu mẫu multipart với một hoặc nhiều tệp ảnh và một trường JSON settings tùy chọn.

Tham số

Tham số Kiểu Bắt buộc Mặc định Mô tả
outputFormat string Không "original" Chuyển đổi trước khi mã hóa: original, jpeg, png, webp, avif, jxl
quality number Không 80 Chất lượng đầu ra cho các định dạng mất dữ liệu (1 đến 100)
maxWidth number Không 0 Chiều rộng tối đa tính bằng pixel (0 = không thay đổi kích thước, sẽ không phóng to)
maxHeight number Không 0 Chiều cao tối đa tính bằng pixel (0 = không thay đổi kích thước, sẽ không phóng to)

Ví dụ yêu cầu

curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@icon.png" \
  -F 'settings={"outputFormat": "webp", "quality": 80, "maxWidth": 200}'

Nhiều tệp:

curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@icon1.png" \
  -F "file=@icon2.png" \
  -F "file=@icon3.png" \
  -F 'settings={"outputFormat": "original"}'

Ví dụ phản hồi

{
  "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": []
}

Trường phản hồi

Trường Kiểu Mô tả
results array Các ảnh đã chuyển đổi thành công
errors array Các ảnh không xử lý được (kèm tên tệp và thông báo lỗi)

Đối tượng Result

Trường Kiểu Mô tả
filename string Tên tệp gốc
mimeType string Kiểu MIME của đầu ra được mã hóa
width number Chiều rộng cuối cùng tính bằng pixel (sau bất kỳ thay đổi kích thước nào)
height number Chiều cao cuối cùng tính bằng pixel (sau bất kỳ thay đổi kích thước nào)
originalSize number Kích thước tệp gốc tính bằng byte
encodedSize number Kích thước của chuỗi base64 tính bằng byte
overheadPercent number Phần trăm chênh lệch kích thước so với bản gốc (dương = lớn hơn, âm = nhỏ hơn)
base64 string Dữ liệu ảnh mã hóa base64 thô
dataUri string Data URI hoàn chỉnh sẵn sàng dùng trong thuộc tính src

Ghi chú

  • Mã hóa Base64 thường làm tăng kích thước khoảng 33% so với tệp nhị phân. Trường overheadPercent cho biết chênh lệch thực tế.
  • Khi outputFormat"original", các tệp HEIC/HEIF được chuyển sang JPEG (vì trình duyệt không thể hiển thị HEIC trong data URI).
  • Các tùy chọn maxWidthmaxHeight thay đổi kích thước bằng fit: inside với withoutEnlargement, nên các ảnh nhỏ hơn kích thước đã chỉ định sẽ không được phóng to.
  • Nhiều tệp có thể được xử lý trong một yêu cầu duy nhất. Mỗi tệp được xử lý độc lập, và các lỗi không ngăn các tệp khác thành công.
  • Các tệp SVG được truyền qua dưới dạng image/svg+xml mà không mã hóa lại (trừ khi yêu cầu chuyển đổi định dạng).
  • Đây là một điểm cuối chỉ đọc. Nó không tạo ra tệp có thể tải xuống hoặc một jobId. Dữ liệu base64 được trả về trực tiếp trong thân phản hồi.