إعدادات الخادم لخدمة الملفات الثابتة (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
أمان الوصول إلى الملفات الخاصة.