• 0

كيف أنشئ ملف مضغوط لتحميله باستخدام دجانغو؟

هل يمكنني إنشاء ملف أرشيف zip وتوفيره للتحميل لكن بدون حفظه على القرص الصلب؟ كيف أستطيع فعل ذلك على إطار ويب دجانغو؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدة طرق في لغة بايثون لإنشاء وتحميل ملف أرشيف مضغوط فيمكنك مثل استخدام دوال HttpResponse و FileWrapper من وحدة django لإنشاء الملف المضغوط ومن ثم استخدام رأسية Content-Disposition لتحميل الملف مباشرة كما في المثال التالي:

 from django.http import HttpResponse
from django.core.servers.basehttp import FileWrapper

# generate the file
response = HttpResponse(FileWrapper(myfile.getvalue()), content_type='application/zip')
response['Content-Disposition'] = 'attachment; filename=myfile.zip'
return response

وإذا لم ترغب أن يكون الملف على القرص الصلب فستحتاج إلى استخدام دالة StringIO من وحدة cStringIO كما تظهر في المثال التالي:

import cStringIO as StringIO

myfile = StringIO.StringIO()
while not_finished:
    # generate chunk
    myfile.write(chunk)

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن