قم بتخزين الملفات وتقديمها باستخدام JavaScript SDK
التدفقات اليومية لـ aura.storage، مع ملاحظة قواعد الوصول مقابل المكدس قيد التشغيل.
1. الدلاء
يقوم الجرافة بتجميع الملفات ويقرر ما إذا كانت عامة أم لا. يحتاج إنشاء المجموعات وحذفها إلى مفتاح service_role. تحتاج قائمة هذه العناصر إلى مستخدم مسجل الدخول أو مفتاح service_role؛ المفتاح العام وحده يحصل على 403.
يقبل الدلو أيضًا fileSizeLimit (بالبايت) و allowedMimeTypes. يؤدي التحميل الكبير جدًا إلى 413، بينما يعرض النوع غير المسموح به 400.
2. تحميل، تنزيل، قائمة، إزالة
ماذا تتوقع:
- يؤدي تحميل مسار موجود إلى إرجاع
409إلا إذا قمت باجتيازupsert: true. - يحتاج التحميل إلى مستخدم مسجل الدخول أو مفتاح
service_role. يحصل المفتاح العام وحده على403، حتى بالنسبة للحاوية العامة. - تم رفض المسار الذي يحتوي على
..مع400. - تتم مشاركة المسارات داخل مجموعة بيانات. إذا كان لدى مستخدم آخر المسار بالفعل، فستحصل على
409. ضع ملفات كل مستخدم ضمن المجلد الخاص به، مثل${user.id}/….
3. مشاركة ملف
تم جلب كلا الرابطين بدون أي مفتاح وتم إرجاع الملف. يتوقف الارتباط الموقع عن العمل بعد expires_in ثانية. للسماح للمتصفح بالتحميل بدون مفتاح، يقوم الخادم بإصدار createSignedUploadUrl(path) (استدعاء service_role).
4. من يستطيع أن يفعل ماذا؟
| العمل | المفتاح العام | مستخدم مسجل الدخول | service_role |
|---|---|---|---|
| قراءة ملف في دلو عام | نعم | نعم | نعم |
| قراءة، إدراج ملف في دلو خاص | لا | صاحبها فقط | نعم |
| تحميل | لا | نعم | نعم |
| استبدال أو إزالة ملف | لا | صاحبها فقط | نعم |
| قائمة الدلاء | لا | نعم | نعم |
| إنشاء وحذف الدلاء | لا | لا | نعم |
المالك هو المستخدم الذي قام بتحميل الملف. في التشغيل الحقيقي، لا يستطيع المستخدم الثاني إدراج ملف المستخدم الأول أو تنزيله أو إزالته في حاوية خاصة، ولا يمكنه استبداله أيضًا.
5. النقل والنسخ من الخادم
تم توضيح تغيير حجم الصورة في مرجع التخزين.