تم تنفيذ خادم الويب لتحميل الصورة وتنزيلها وحذفها باستخدام البرامج النصية Nginx و FastCGI
قم بتشغيل حاويات خدمة الوسائط من خلال أمر docker-compose . يتيح لك منفذ 8888 الوصول إلى عملية خادم الوسائط.
في المدى الأول ، أدخل الأمر مع خيار ADD --build إلى docker-compose up لتشغيل الحاوية بعد إنشاء الصورة.
$ cd common
$ cd MediaService
$ docker-compose up --build # 최초 실행 시 --build 옵션 추가 إذا كان لديك صورة موجودة ، فإنها تمر عبر docker-compose up .
$ cd common
$ cd MediaService
$ docker-compose up إذا كنت ترغب في تغيير منفذ خدمة الوسائط ، فقم بتغيير قيمة منفذ MEDIA_PORT لملف .env .
طلب تحميل الصور.
طلب
Content-Type : multipart/form-dataإجابة
المعالجة العادية
{
"code" : 200 ,
"message" : " File(s) successfully uploaded. " ,
"data" : {
"file_name" : " bts_jk.gif " ,
"file_id" : " b7436194d5034bb69767688807393e48 "
}
}خطأ
عندما لا يتم إرسال الصورة
إذا كان الجسم فارغًا: Nginx 400 طلب سيء
< html >
< head >
< title > 404 Not Found </ title >
</ head >
< body >
< center >
< h1 > 404 Not Found </ h1 >
</ center >
< hr >
< center > nginx/1.20.2 </ center >
</ body >
</ html >إذا كان هناك جسم ولكن ليس نوع ملف
{
"code" : 400 ,
"message" : " No file received. "
}إذا كان حجم ملف الصورة الذي تريد تحميله كبيرًا جدًا: طلب NGINX 413 خطأ كبير جدًا
< html >
< head >
< title > 413 Request Entity Too Large </ title >
</ head >
< body >
< center >
< h1 > 413 Request Entity Too Large </ h1 >
</ center >
< hr >
< center > nginx/1.20.2 </ center >
</ body >
</ html >إذا تم تحميل العديد من الصور
{
"code" : 400 ,
"message" : " Multiple file upload not allowed. "
}إذا لم يُسمح بالصورة التي تم تحميلها
{
"code" : 400 ,
"message" : " File extension of file webp_jk.webp not allowed. "
}اطلب صورة تحميل متعددة.
طلب
Content-Type : multipart/form-dataإجابة
المعالجة العادية
{
"code" : 200 ,
"message" : " File(s) successfully uploaded. " ,
"data" : [
{
"file_name" : " jpeg_jk3.jpg " ,
"file_id" : " b3b2bc5b075f434692f71657afbae2c9 "
},
{
"file_name" : " png_jk.png " ,
"file_id" : " 20995dfcf94a49e7b6d34ccce744609c "
},
{
"file_name" : " png_bts.png " ,
"file_id" : " 9d15ce7799dd499181bbc8cace4761b7 "
},
{
"file_name" : " jpg_cat.jpg " ,
"file_id" : " 5fd0f71238ed4086b9bb58859ac3b271 "
}
]
}خطأ
عندما لا يتم إرسال الصورة: نشر الصور/التحميل
إذا تم تحميل صورة واحدة
{
"code" : 400 ,
"message" : " Single file upload not allowed. "
}إذا كان إحدى الصور التي تم تحميلها عبارة عن امتداد غير مسموح به
{
"code" : 400 ,
"message" : " File extension of file webp_jk.webp not allowed. "
}إذا كان حجم ملف الصورة الذي تريد تحميله كبيرًا جدًا: طلب NGINX 413 خطأ كبير جدًا
< html >
< head >
< title > 413 Request Entity Too Large </ title >
</ head >
< body >
< center >
< h1 > 413 Request Entity Too Large </ h1 >
</ center >
< hr >
< center > nginx/1.20.2 </ center >
</ body >
</ html >طلب ملف صورة.
خطأ
إذا لم يكن هناك ملف صورة تريد العثور عليه
< html >
< head >
< title > 404 Not Found </ title >
</ head >
< body >
< center >
< h1 > 404 Not Found </ h1 >
</ center >
< hr >
< center > nginx/1.20.2 </ center >
</ body >
</ html >طلب حذف ملفات الصور.
المعالجة العادية
{
"code" : 200 ,
"message" : " File 20995dfcf94a49e7b6d34ccce744609c successfully deleted. "
}خطأ
إذا لم يكن هناك ملف صورة يتم حذفه
{
"code" : 400 ,
"message" : " File 20995dfcf94a49e7b6d34ccce744609c does not exists. "
}