Files
SnapOtter/apps/docs/ar/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.7 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
تحويل الصور إلى data URIs بترميز base64 للتضمين في HTML وCSS والمزيد. ba4b8f3b4ece human 62301a0edbe2

صورة إلى Base64

حوّل صورة واحدة أو أكثر إلى سلاسل مُرمّزة بـ base64 وdata URIs. يدعم تحويل الصيغة الاختياري والتحكم في الجودة وإعادة التحجيم. مفيد لتضمين الصور مباشرة في HTML أو CSS أو JSON أو قوالب البريد الإلكتروني.

نقطة نهاية API

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

يقبل بيانات نموذج multipart تحتوي على ملف صورة واحد أو أكثر وحقل JSON اختياري settings.

المعاملات

المعامل النوع مطلوب الافتراضي الوصف
outputFormat string لا "original" التحويل قبل الترميز: original، jpeg، png، webp، avif، jxl
quality number لا 80 جودة المخرجات للصيغ ذات الفقدان (1 إلى 100)
maxWidth number لا 0 أقصى عرض بالبكسل (0 = بلا إعادة تحجيم، لن يتم التكبير)
maxHeight number لا 0 أقصى ارتفاع بالبكسل (0 = بلا إعادة تحجيم، لن يتم التكبير)

مثال على طلب

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}'

ملفات متعددة:

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"}'

مثال على استجابة

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

حقول الاستجابة

الحقل النوع الوصف
results array الصور التي تم تحويلها بنجاح
errors array الصور التي فشلت في المعالجة (مع اسم الملف ورسالة الخطأ)

كائن النتيجة

الحقل النوع الوصف
filename string اسم الملف الأصلي
mimeType string نوع MIME للمخرجات المُرمّزة
width number العرض النهائي بالبكسل (بعد أي إعادة تحجيم)
height number الارتفاع النهائي بالبكسل (بعد أي إعادة تحجيم)
originalSize number حجم الملف الأصلي بالبايت
encodedSize number حجم سلسلة base64 بالبايت
overheadPercent number نسبة فرق الحجم مقابل الأصل (موجب = أكبر، سالب = أصغر)
base64 string بيانات الصورة الخام المُرمّزة بـ base64
dataUri string data URI كامل جاهز للاستخدام في سمات src

ملاحظات

  • عادةً ما يزيد ترميز base64 الحجم بنحو 33٪ مقارنةً بالملف الثنائي. يُظهر حقل overheadPercent الفرق الفعلي.
  • عندما يكون outputFormat هو "original"، تُحوَّل ملفات HEIC/HEIF إلى JPEG (لأن المتصفحات لا تستطيع عرض HEIC في data URIs).
  • يعيد خيارا maxWidth وmaxHeight التحجيم باستخدام fit: inside مع withoutEnlargement، لذا لا يتم تكبير الصور الأصغر من الأبعاد المحددة.
  • يمكن معالجة ملفات متعددة في طلب واحد. تتم معالجة كل ملف على حدة، والفشل لا يمنع نجاح الملفات الأخرى.
  • تُمرَّر ملفات SVG كما هي بصيغة image/svg+xml دون إعادة ترميز (ما لم يُطلب تحويل صيغة).
  • هذه نقطة نهاية للقراءة فقط. لا تُنتج ملفاً قابلاً للتنزيل ولا jobId. تُرجَع بيانات base64 مباشرة في جسم الاستجابة.