مستندات n8n
74+ نود
📦

فشرده‌سازی

Compression

فشرده‌سازی و استخراج: ZIP، GZIP و مدیریت آرشیو

ابزارها
مقدماتی
۰ بازدید
n8n 1.0+

نمای کلی

نود Compression چیست؟

نود Compression دو عملیات اصلی دارد:

  1. 1Compress: فشرده‌سازی فایل‌ها به ZIP یا GZIP
  2. 2Decompress: استخراج فایل‌ها از آرشیو ZIP یا GZIP

فرمت‌های پشتیبانی‌شده:

  • ZIP: آرشیو چندین فایل در یک فایل فشرده
  • GZIP: فشرده‌سازی تک‌فایلی (معمولاً با tar)

چرا فشرده‌سازی لازم است؟

  • کاهش حجم: صرفه‌جویی در فضا و پهنای باند
  • بسته‌بندی: ارسال چندین فایل در یک فایل
  • سازگاری: بسیاری از APIها فایل ZIP قبول می‌کنند
  • Email: ارسال فایل‌های حجیم به عنوان ضمیمه
  • Backup: فشرده‌سازی پشتیبان‌ها
  • API Response: برخی APIها پاسخ GZIP ارسال می‌کنند

Binary Data در n8n:

فایل‌ها در n8n به صورت Binary data مدیریت می‌شوند. نود Compression ورودی و خروجی Binary دارد.

احراز هویت

بدون نیاز به احراز هویت - نود Compression یک نود داخلی n8n است.

عملیات‌های موجود

1

فشرده‌سازی ZIP

فشرده‌سازی یک یا چند فایل در آرشیو ZIP. می‌توانید نام فایل خروجی و سطح فشرده‌سازی را تعیین کنید.

2

استخراج ZIP

استخراج فایل‌ها از آرشیو ZIP. هر فایل به عنوان یک آیتم جداگانه خروجی داده می‌شود.

3

فشرده‌سازی GZIP

فشرده‌سازی داده با GZIP. مناسب برای فشرده‌سازی تک‌فایلی و API responses.

4

استخراج GZIP

باز کردن فایل‌های GZIP. خروجی: فایل اصلی بدون فشرده‌سازی.

5

لیست محتویات ZIP

نمایش لیست فایل‌های داخل آرشیو ZIP بدون استخراج.

6

افزودن فایل به ZIP

اضافه کردن فایل‌های جدید به آرشیو ZIP موجود.

کاربردهای متداول

موارد استفاده رایج

۱. بسته‌بندی گزارش‌ها

تولید چندین فایل CSV/PDF > Compress ZIP > ارسال ایمیل با ضمیمه ZIP.

۲. پشتیبان‌گیری خودکار

دریافت فایل‌ها از S3 > Compress ZIP > آپلود به Google Drive > حذف فایل‌های قدیمی.

۳. پردازش آپلود ZIP

دریافت ZIP از کاربر > Decompress > پردازش هر فایل > ذخیره در دیتابیس.

۴. ارسال چندین تصویر

دریافت تصاویر از API > Compress ZIP > ارسال در Slack/Email.

۵. Export داده

دریافت داده از دیتابیس > ساخت CSV > Compress GZIP > آپلود به FTP.

۶. پردازش لاگ‌ها

دریافت لاگ‌های GZIP از سرور > Decompress > Parse > تحلیل > ذخیره.

۷. Migration فایل‌ها

دانلود فایل‌ها از سرور قدیمی > Compress ZIP > آپلود به سرور جدید > Decompress.

۸. ساخت Package

جمع‌آوری فایل‌های پروژه > Compress ZIP > نسخه‌گذاری > آپلود به Storage.

۹. پردازش ایمیل با ضمیمه ZIP

دریافت ایمیل > استخراج ضمیمه ZIP > Decompress > پردازش فایل‌ها.

۱۰. فشرده‌سازی API Response

دریافت پاسخ GZIP از API > Decompress > Parse JSON > پردازش.

نکات حرفه‌ای

نکات و ترفندها

انتخاب فرمت فشرده‌سازی

  • ZIP: چندین فایل، سازگاری بالا، پشتیبانی همه OS
  • GZIP: تک فایل، فشرده‌سازی بهتر، استاندارد Linux/Web

سطح فشرده‌سازی

  • 0: بدون فشرده‌سازی (سریع)
  • 1-3: فشرده‌سازی سریع
  • 4-6: تعادل سرعت و حجم
  • 7-9: حداکثر فشرده‌سازی (کند)
  • پیش‌فرض (6): مناسب اکثر موارد

Binary Data در n8n

  • هر آیتم می‌تواند چندین Binary property داشته باشد
  • نام پیش‌فرض: data
  • از Move Binary Data برای تبدیل JSON ↔ Binary
  • Read Binary File و Write Binary File برای فایل سیستم

ترکیب با ایمیل

  1. 1فایل‌ها را Compress ZIP کنید
  2. 2Binary property را به SMTP نود وصل کنید
  3. 3نام ضمیمه و MIME type تنظیم کنید
  4. 4ارسال ایمیل با ضمیمه ZIP

ترکیب با Cloud Storage

  • S3: آپلود/دانلود + Compress/Decompress
  • Google Drive: ذخیره آرشیو
  • Dropbox: همگام‌سازی فایل‌های فشرده
  • FTP: انتقال فایل‌های فشرده

Batch Processing

فشرده‌سازی دسته‌ای با Loop:

  1. 1Loop: دریافت فایل‌ها batch batch
  2. 2Compress هر batch
  3. 3آپلود هر آرشیو
  4. 4لاگ نتیجه

مقایسه حجم

  • متن: فشرده‌سازی 60-80%
  • تصویر PNG: 10-30%
  • تصویر JPG: 5-10% (از قبل فشرده)
  • فایل‌های Office: 10-20% (از قبل فشرده)
  • CSV/JSON: 70-90%
  • Binary data: 20-50%

ادغام با سایر نودها

  • HTTP Request: دریافت/ارسال فایل فشرده
  • Read/Write File: خواندن/نوشتن آرشیو
  • S3/Google Drive: ذخیره‌سازی
  • SMTP: ارسال ایمیل با ضمیمه
  • Code: پردازش پیچیده فایل
  • Move Binary Data: تبدیل فرمت

رفع مشکلات

عیب‌یابی

۱. ZIP فایل خراب است

مشکل: "Invalid ZIP file" یا "Corrupted archive" راه‌حل: بررسی کنید فایل واقعاً ZIP باشد (نه فقط پسوند). دانلود مجدد. بررسی Transfer encoding.

۲. فایل‌ها بعد از Decompress خالی‌اند

مشکل: فایل‌های استخراج‌شده 0 بایت راه‌حل: Binary property name صحیح باشد. بررسی کنید ZIP خالی نباشد. فرمت (ZIP vs GZIP) صحیح باشد.

۳. خطای حافظه با فایل بزرگ

مشکل: Out of Memory هنگام فشرده‌سازی فایل بزرگ راه‌حل: فایل‌های بزرگ (>100MB) را chunk chunk پردازش کنید. حافظه n8n را افزایش دهید. از Streaming استفاده کنید.

۴. نام فایل فارسی خراب

مشکل: نام فایل‌های فارسی بعد از Decompress خراب راه‌حل: ZIP encoding بررسی شود. از UTF-8 مطمئن شوید. برخی ابزارهای ساخت ZIP از CP437 استفاده می‌کنند.

۵. GZIP vs ZIP اشتباه

مشکل: فرمت اشتباه انتخاب شده راه‌حل: GZIP فقط تک‌فایل فشرده می‌کند. ZIP چندین فایل دارد. فرمت ورودی را بررسی کنید.

۶. Password Protected ZIP

مشکل: ZIP رمزدار باز نمی‌شود راه‌حل: n8n به صورت پیش‌فرض از ZIP رمزدار پشتیبانی نمی‌کند. از Code نود با کتابخانه مناسب استفاده کنید.

۷. Binary Property پیدا نمی‌شود

مشکل: "No binary data found" خطا راه‌حل: نام Binary property را بررسی کنید (پیش‌فرض: data). مطمئن شوید نود قبلی Binary خروجی دارد.

اشتراک‌گذاری:

آیا این مستندات مفید بود؟