سؤال

أنا أعمل على تطبيق ويب الآن باستخدام القضبان وأراد أن أرى ما إذا كان أي شخص يعرف طريقة جيدة لتتبع حدود تخزين الملفات؟ نريد إعطاء المستخدمين كمية محددة من الغرفة التي يمكنهم استخدامها لتحميل الملفات ونحن نستخدم PaperClip لتخزين Amazon S3. أي أفكار؟ شكرًا

هل كانت مفيدة؟

المحلول

واحدة من الأعمدة الاختيارية التي يمكنك استخدامها مع PaperClip هي Object_File_Size التي يمكنك تلخيصها

# Assuming a user has many files relationship
@user.uploads.sum(:image_file_size)

فيما يتعلق بفرض الغطاء بالفعل، أوصي بإنشاء صحة مخصصة على أي طراز الملفات بحيث يمكنك تمرير الأخطاء والمشكلات مرة أخرى إلى العميل.

نصائح أخرى

PaperClip يخزن حجم الملف.
لذلك يمكنك فقط، لمستخدم واحد، القيام بشيء مثل:

def used_file_size
    self.files.sum(:document_file_size)
end

سيكون لديك ثم الحجم الإجمالي مستندات كل مستخدم.
يمكنك بعد ذلك إضافة حد أقصى للحجم وعدم التحقق من صحة تحميل المستند إذا وصل المستخدم إلى هذا الحجم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top