في القضبان, يمكنني معرفة ما اذا كان ملف مضغوط تحميلها تالف أو غير صالح?
-
24-12-2019 - |
سؤال
لدي التطبيق روبي التي لحسابهم الخاص يمكن إكمال وظائف لصاحب العمل.عند اكتمال المهمة ، يمكن للقطعة تحميل الملفات لصاحب العمل لمراجعتها.أعتقد أن المستقل يجب أن يكون قادرا على تحميل ملفات مضغوطة ، لكنني لا أريد أن يتمكن المستقل من تحميل ملفات مضغوطة غير صالحة أو فاسدة.هل هناك أي طريقة لإيقاف هذا أو التحقق مما إذا كان الملف صالحا.أنا متأكد تماما إذا كان هناك طريقة أو وظيفة للقيام بذلك ، وسوف يكون في مكتبة روبيزيب ، ولكن لقد بحثت من خلال وثائقهم ولا يمكن العثور على ما أبحث عنه.
المحلول
هنا هو الحل الساذج الذي يحاول فتح أرشيف مضغوط ، والعودة true
إذا كان يعمل و false
إذا حدث خطأ:
require 'zip'
def valid_zip?(file)
zip = Zip::File.open(file)
true
rescue StandardError
false
ensure
zip.close if zip
end
وأعتقد أن شكل زيب يتضمن كرك 32 اختبارية من محتوياته.إذا كنت حقا بحاجة إلى أن تكون بسرعة فائقة ، هل يمكن قراءة تلك من الملف والتحقق من المجموع الاختباري لديك حسابها.
نصائح أخرى
طريقة أخرى سهلة هي مجرد التحقق من هذا الشرط، إذا تم تحميل الملف.
giveacodicetagpre.