پشتیبان‌گیری و فنی

API آپلود فایل چیست و چطور از آن استفاده کنیم؟

به‌روزرسانی:

پاسخ کوتاه

API آپلود فایل رابطی است که برنامه یا سایت شما با آن، بدون دخالت کاربر، فایل را به یک فضای ذخیره‌سازی می‌فرستد. در API پوشه آپلود ساده سه مرحله دارد: درخواست آپلود (بررسی نام، حجم و سهمیه)، ارسال محتوای فایل، و تأیید نهایی که بررسی ویروس و پردازش را شروع می‌کند. برای فایل‌های بزرگ‌تر یا اینترنت ناپایدار، آپلود چندتکه قابل ادامه وجود دارد.

فهرست فایل‌ها و پوشه‌ها در پوشه (محیط آزمایشی با داده نمونه)
فهرست فایل‌ها و پوشه‌ها در پوشه (محیط آزمایشی با داده نمونه)

آپلود ساده یا چندتکه؟

آپلود سادهآپلود چندتکه (upload session)
مراحلPOST /uploads ← PUT محتوا ← POST finalizePOST /upload-sessions ← PUT هر تکه ← POST complete
قطع اتصالباید از اول فرستادفقط تکه‌های باقی‌مانده فرستاده می‌شوند
تکه‌ها—به هر ترتیب و موازی؛ قابل ارسال دوباره
مناسب برایفایل‌های کوچک و اتصال پایدارفایل‌های بزرگ‌تر و اینترنت ناپایدار

گام‌به‌گام با API پوشه

  1. در تنظیمات فضای کاری یک کلید API با کمترین دسترسی لازم بسازید؛ کلید فقط یک بار نمایش داده می‌شود.
  2. هر درخواست سرآیند Authorization: Bearer و کلید را دارد. کلید را در کد یا مخزن نگذارید؛ در متغیر محیطی نگه دارید.
  3. POST /uploads با نام و حجم فایل؛ پاسخ شناسه نسخه (versionId) است.
  4. PUT /uploads/{versionId}/content با بدنه application/octet-stream و Content-Length.
  5. POST /uploads/{versionId}/finalize؛ فایل بررسی ویروس و پردازش می‌شود.
  6. برای POSTها سرآیند Idempotency-Key بفرستید تا اگر اتصال قطع شد، تکرار درخواست کار را دو بار انجام ندهد.

نمونه‌ها و SDK

نمونه کامل با curl، جاوااسکریپت (SDK رسمی با مجوز MIT)، پایتون و PHP، فهرست دسترسی‌ها، خطاها و صفحه‌بندی در بخش توسعه‌دهندگان آمده است.

محدودیت‌ها را بدانید

  • سقف حجم هر فایل و سهمیه فضا مثل پنل به پلن بستگی دارد.
  • فایل‌های اجرایی و محتوای فعال وب پذیرفته نمی‌شوند.
  • دسترسی کلید هرگز بیشتر از نقش فعلی عضوی که آن را ساخته نیست.

پرسش‌های متداول

می‌توانم از مرورگر کاربر مستقیم آپلود کنم؟
کلید API را هرگز در کد سمت مرورگر نگذارید. آپلود را از سرور خودتان انجام دهید، یا برای گرفتن فایل از دیگران «درخواست فایل» بسازید.
بعد از آپلود چطور بفهمم پردازش تمام شد؟
وضعیت سند را بخوانید یا وب‌هوک تعریف کنید تا رویدادهای مربوط برای سرور شما فرستاده شود.

در پوشه انجامش دهید