الأساسيةخادم الملفات الثابتة

إعدادات الخادم لخدمة الملفات الثابتة (Static File Server)

إطار العمل كوكب Kawkab يوفر آلية مرنة لإعداد الخادم بحيث يمكنه خدمة الملفات العامة والخاصة. يتم تكوين هذه الإعدادات عبر ملف configuration.ts، ويشمل ذلك خيارات لتحديد المسارات الخاصة للملفات العامة وكيفية الوصول إلى الملفات الخاصة بطريقة آمنة.


إعدادات الخادم في configuration.ts

خدمة الملفات العامة

في كوكب Kawkab، يمكن تمكين خدمة الملفات العامة عبر إعدادات serveStatic التي تتيح الوصول إلى الملفات الثابتة مثل الصور أو الملفات الأخرى التي يمكن الوصول إليها من قبل المستخدمين. يتم تحديد المسار الذي ستخدم فيه هذه الملفات، ويُفضل أن يكون المسار /public بشكل افتراضي.

إعدادات خدمة الملفات العامة

import { env } from 'kawkab'
import { Provider } from './provider'
 
export const app = {
    app: {
        serveStatic: {
            enable: true,            // تمكين خدمة الملفات العامة
            path: '/public',         // المسار الذي سيكون متاحًا للملفات العامة
        },
    },
}
  • serveStatic.enable: تحديد ما إذا كانت خدمة الملفات العامة ستكون مفعلة.
  • serveStatic.path: تحديد المسار الذي ستكون عليه الملفات العامة (مثل /public).

وصول المستخدمين إلى الملفات العامة

بمجرد تمكين هذه الإعدادات، يمكن للمستخدمين الوصول إلى الملفات العامة المخزنة في مجلد storage/public عبر الرابط التالي:

http://localhost:3000/public/pic.jpg

خدمة الملفات الخاصة

الملفات الخاصة تختلف عن الملفات العامة في أنها لا يمكن الوصول إليها مباشرة عبر الروابط العامة. يتم تخزين هذه الملفات في مجلد storage/private ولا يمكن للمستخدمين الوصول إليها عبر روابط مباشرة من المتصفح. للوصول إلى هذه الملفات، يتم استخدام دالة response.privateFile بشكل آمن.


الوصول إلى الملفات الخاصة باستخدام response.privateFile

للحصول على ملفات خاصة من مجلد storage/private، يتم استخدام دالة response.privateFile التي تضمن تقديم الملف بطريقة آمنة:

الوصول إلى الملفات الخاصة

import { response } from "kawkab";
 
async get() {
    return response.privateFile("file.mp4");  // الوصول إلى الملف الخاص
}
  • response.privateFile("file.mp4"): تقوم هذه الدالة بتوفير الوصول الآمن للملف file.mp4 من المجلد الخاص storage/private.

كيفية الوصول إلى الملفات في كوكب Kawkab

الملفات العامة

الملفات العامة يمكن الوصول إليها بسهولة من خلال المسار الذي تم تحديده في إعدادات serveStatic.path. يجب أن تكون هذه الملفات موجودة في مجلد storage/public ويمكن الوصول إليها باستخدام الرابط المباشر في المتصفح.

مثال:

http://localhost:3000/public/pic.jpg

الملفات الخاصة

الملفات الخاصة يتم تخزينها في مجلد storage/private ولا يمكن الوصول إليها عبر الروابط المباشرة. للوصول إليها بشكل آمن، يجب استخدام دالة response.privateFile() ضمن وحدة تحكم (Controller) أو أي مكان آخر في التطبيق.


ملخص الإعدادات

import { env } from 'kawkab'
import { Provider } from './provider'
 
export const app = {
    app: {
        serveStatic: {
            enable: true,        // تمكين خدمة الملفات العامة
            path: '/public',     // المسار للوصول إلى الملفات العامة
        },
    },
}
  • enable: تحديد ما إذا كانت خدمة الملفات العامة ستكون مفعلة.
  • path: تحديد المسار الذي ستكون عليه الملفات العامة.

الوصول إلى الملفات العامة:

http://localhost:3000/public/pic.jpg

الوصول إلى الملفات الخاصة:

return response.privateFile("file.mp4");

خاتمة

تعد إعدادات خدمة الملفات العامة والخاصة في كوكب Kawkab عملية بسيطة ومرنة. من خلال configuration.ts، يمكنك التحكم في كيفية تقديم الملفات العامة عبر مسار محدد بينما تضمن دالة response.privateFile أمان الوصول إلى الملفات الخاصة.