اذهب إلى المحتوى

السؤال

نشر

أحاول أن أقوم بعمل مسار يتأكد من المستخدم ويعيد الصورة الخاصة به، ولكن لا يمكنني أن أرسل صورة بإستخدام فلاسك Flask، هل توجد طريقة لإرجاع صورة من مسار معين بدلًا من وضع الصورة في مجلد static، بحيث يمكنني زيارة المسار route التالي وتظهر الصورة:

http://localhost:5000/user-image/

 

Recommended Posts

  • 1
نشر

يمكنك أن تقوم بهذا الأمر من خلال إستخدام الدالة send_file والتي تقوم بإستقبال مسار الصورة (أو أي ملف) كمعامل أول، ويمكنك تمرير نوع الملف (لكي يتعرف عليه المتصفح ويعرضه بالطريقة الصحيح) من خلال تمرير المعامل mimetype، على النحو التالي:

@app.route('/user_image')
def user_image():
    # ...
    return send_file('./path/to/image.jpg', mimetype='image/jpeg')

بهذا الشكل يمكنك أن تقوم بإعادة صورة (أو أي ملف آخر) بعد التأكد من بيانات المستخدم أو أي شيء آخر.

  • 0
نشر

بالإضافة إلى إجابة سامح إن كنت تستخدم flask_restful يمكنك تحقيق الغرض عبر تحويل الصورة إلى تشفير base64 ومن ثم إرجاع التشفير في رد الjson ويمكن تحقيق ذلك عبر التالي

  1. قراءة ملف الصورة وتحويله إلى تشفير base64 
    with open("image.jpg", "rb") as image_file:
        data = base64.b64encode(image_file.read())

     

  2. إرجاع التشفير 

    return {"data":data}

     

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...