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

تشفير الصور وجلبها من قواعد البيانات

Kirolos Nagy2

السؤال

ما الفرق بين اني اشفر الصوره بتشفير base64 واحفظها بقواعد البيانات وعندما اجلبها frontend افك التشفير

والفرق اني احفظ فقط اسم الصوره وعند جلبها استخدم API برابط الملف في ال server

واي منهم افضل

مع العلم اني استخدم Multer في nodejs لاجل رفع الصوره

تم التعديل في بواسطة Kerollos Nagy
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يعتمد الخيار الأنسب على حجم ونوع الملفات التي تريد حفظها وتحميلها، وحجم قاعدة البيانات الخاصة بك، ومدى قوة الاتصال بالشبكة.

إذا كانت الصورة تتميز بحجم كبير، فإن استخدام التشفير base64 لتخزينها في قاعدة البيانات قد يتسبب في بطء أداء النظام. وعلى الجانب الآخر، إذا كان حجم الصورة صغيراً، فيمكن استخدام التشفير base64 وتخزينها مباشرة في قاعدة البيانات دون الحاجة إلى الاتصال بخادم API.

ومن جهة أخرى، إذا كنت تستخدم خوادم API، فإن استخدام رابط الملف المباشر قد يعزز أداء نظامك عند تحميل الصورة، حيث أن الخادم الخارجي سيكون مسؤولاً عن إرسال الصورة إلى المستخدم مباشرة، وسيساعد في تقليل حجم قاعدة البيانات الخاصة بك.

فإذا كانت الصورة كبيرة الحجم أو تستخدم بشكل متكرر، فمن المستحسن تخزينها كملف مباشر على خادم API. وإذا كانت الصورة صغيرة الحجم، فإن تشفيرها باستخدام base64 وحفظها مباشرة في قاعدة البيانات هو الخيار الأفضل.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

تشفير الصورة إلى base64  يجعلها اكبر من حجمها الطبيعي وبالتالي سيصبح لديك ضعف في الأداء أثناء جلب الصور.

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

الافضل هو استخدام الـ Api بالتأكيد، والافضل من ذلك هو استخدام Api من طرف خارجي مثل cloudinary.

قد يفيدك النقاش التالي :

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

لا يوجد جواب أفضل، فالأمر يعتمد على احتياجاتك وتفضيلاتك. والفرق بين الطريقتين كالتالي

الطريقة الأولى إذا قمت بتشفير الصورة بتشفير base64 وحفظها في قواعد البيانات،

  •  فإن هذا يزيد من حجم البيانات ويستهلك مساحة أكبر على القرص. كما أنه يؤثر سلبًا على أداء قواعد البيانات وسرعة استجابة التطبيق. ومع ذلك، فإن هذه الطريقة تسهل نقل ونسخ الصور دون الحاجة إلى ملفات خارجية
  • يساعد على تقليل عدد طلبات HTTP، خاصة للصور الصغيرة. كما أنه يجعل تضمين الصور في ملفات CSS أكثر سهولة.
  •  فإن هذه الطريقة تجعلك تفقد بعض المزايا مثل استخدام قواعد بيانات أو خدمات متخصصة في تخزين هذه الأنواع من الملفات (مثل Amazon S3) أو تقديم الصور عبر شبكة توزيع المحتوى (CDN) بطريقة مطابقة

الطريقة الثانية إذا قمت بحفظ اسم الصورة فقط في قواعد البيانات وجلبها باستخدام API برابط الملف في الخادم

  •  فإن هذا يقلل من حجم البيانات ويحسن من أداء قواعد البيانات. كما أنه يسمح بضغط وتحسين جودة الصور دون التأثير على تشفير base642. ومع ذلك، فإن هذه الطريقة تتطلب إدارة الملفات على مستوى نظام الملفات والتأكد من تزامنها مع قواعد البيانات
  • فإن هذا يسمح بتخزين المؤقت للصور على مستوى المستعرض . كما أنه يسهل تغيير أو حذف أو نقل الصور دون التأثير على قواعد البيانات. ومع ذلك، فإن هذه الطريقة تزيد من عدد طلبات HTTP، خاصة للصور الكثيرة أو الكبيرة. كما أنها تتطلب مزامنة بين نظام الملفات وقواعد البيانات
  • فإن هذا يسمح لك باستخدام قواعد بيانات أو خدمات متخصصة في تخزين هذه الأنواع من الملفات (مثل Amazon S3) أو تقديم الصور عبر شبكة توزيع المحتوى (CDN) بطريقة مطابقة

قي الأخير يمكنك المقارنة بينهما وأختيار الحل المناسب بالنسبة لك

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

الفرق الرئيسي بين حفظ الصورة كتشفير Base64 وحفظ اسم الصورة واستخدام API لرابط الملف في الخادم هو:

  • عند تشفير الصورة باستخدام Base64 وحفظها في قاعدة البيانات، يتم تضخيم حجم الصورة بشكل كبير، حيث يتم تحويل الصورة إلى سلسلة نصية طويلة مكونة من الأحرف والأرقام. بينما عند استخدام API، يتم حفظ الصورة بشكل طبيعي دون تشفير، مما يحفظ حجم الصورة الأصلي.
  • عند استخدام API، يتم حفظ الصورة في الخادم ولا يتم نقل حجم الصورة بالكامل إلى العميل (المستخدم)، مما يساعد على تقليل استهلاك البيانات، خاصة إذا كانت الصورة كبيرة الحجم. بينما عند تشفير الصورة باستخدام Base64، يتم نقل حجم الصورة كاملاً إلى العميل عند جلب الصورة، مما يستهلك المزيد من البيانات.

بالإضافة إلى ذلك، يتم تخزين الصورة كتشفير Base64 بشكل أساسي في الذاكرة، بينما يتم حفظ الصورة في الخادم والوصول إليها باستخدام API بشكل مباشر. هذا يجعل الاستفادة من استخدام API أكثر كفاءة من حيث الأداء.

بشكل عام، إذا كانت الصورة ذات حجم صغير ولا يتم تحميلها بكثرة، فإن استخدام Base64 لتشفير الصورة وحفظها في قاعدة البيانات يمكن أن يكون أسهل في التنفيذ. ولكن إذا كانت الصورة كبيرة الحجم وتحمل بكثرة، فإن استخدام API لحفظ الصورة والوصول إليها مباشرةً عند الحاجة يمكن أن يكون أكثر كفاءة من حيث الأداء وتوفير البيانات.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...