Mohammed Abu Yousef نشر 27 أبريل 2021 أرسل تقرير مشاركة نشر 27 أبريل 2021 أريد أن أقوم بتخزين صورة قادمة من تطبيق جوال ( فلاتر ) في قاعدة البيانات ( MySQL ) باستخدام Laravel يعني ال request يتم إرساله لل API 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Adnane Kadri نشر 27 أبريل 2021 أرسل تقرير مشاركة نشر 27 أبريل 2021 (معدل) بداية , لا يمكنك تخزين أي ملفات بقاعدة البيانات Sql , عوضا عن ذلك يمكنك إستخدام الfile systems لتخزين الصورة أو الملف و تخزين باث الصورة أو الملف في قاعدة البيانات . يتم إستقبال الطلب من قبل اللارافل و معالجته على هذا النحو : <?php public function uploadImg(Request $request) { // التحقق إن كان الطلب يحمل ملف باسم image if($request->hasFile('image')) { // انشاء اسم بلاحقة للملف $name = time()."_".$request->file('image')->getClientOriginalName(); // تخزين الملف بالpublic path $request->file('image')->move(public_path('images'), $name); } // return response()->json([ asset("images/$name"), // باث الصورة 201, // كود الحالة 'message' => asset("images/$name") ? 'تم حفظ الصورة' : 'failed' ]); } تم التعديل في 27 أبريل 2021 بواسطة Adnane Kadri 2 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 Adnane Kadri نشر 27 أبريل 2021 أرسل تقرير مشاركة نشر 27 أبريل 2021 (معدل) بتاريخ 21 دقائق مضت قال Mohammed Abu Yousef: متشكر جدا طيب أين يتم حفظ الصور؟ إن كنت تعتمد على تخزين محلي فقط يمكنك تخزين الملفات إما في الـ public_path أو الـ storage_path . في الحالة الأولى ستكون جميع الملفات و الصور المخزنة ظاهرة للعامة و يمكن الوصول إليها ببساطة . تخزن الملفات في : public > your-folder و يكون التخزين على هذا النحو : <?php .. $request->file('image')->move(public_path('your-folder'), $name); في الحالة الثانية لن يمكن إستدعاء الصور و الملفات إلا عن طريق إنشاء رابط symlink و هاته الطريقة أكثر أمانا و حفظا للخصوصية في حالة ما كانت الملفات و الصور المخزنة حساسة أو خاصة . افتراضيا يتم تخزين هاته الصور و الملفات في : storage > app > public > your-folder و التخزين على هذا النحو : <?php .. $request->file('image')->move(storage_path('your-folder'), $name); علما أنه يمكنك إدارة و إنشاء ديسكات التخزين بملف config/filesystems.php : <?php ... 'disks' => [ ... 'storage-path' => [ 'driver' => 'local', 'root' => storage_path('app').'/uploads', ], 'public-path' => [ 'driver' => 'local', 'root' => public_path().'/uploads', 'url' => env('APP_URL').'/public_files', 'visibility' => 'public', ] ... ], ملاحظة : يمكنك إنشاء الsymlink عن طريق طباعة الأمر : php artisan storage:link بتاريخ 28 دقائق مضت قال Mohammed Abu Yousef: عند الرفع على استضافة، هل يتم حفظ الصور في السيرفر ؟ و نفس الأمر بالنسبة للمواقع المرفوعة على السرفرات تم التعديل في 27 أبريل 2021 بواسطة Adnane Kadri 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 محمد أيت لعرايك نشر 28 أبريل 2021 أرسل تقرير مشاركة نشر 28 أبريل 2021 يمكنك كذالك تخزين الصور ببساطة بإستعمال دالة في المتحكم الخاص بك على الشكل التالي. public function uploadImage(Request $request) { $request->validate([ 'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', // تحديد صيغة الصورة وحجمها ]); $imageName = time().'.'.$request->image->extension(); // أعطاء إسم مناسب للصورة $request->image->move(public_path('images'), $imageName); // public/images رفع الصورة إلى الخادم في مجلد return back() ->with('success','You have successfully upload image.') ->with('image',$imageName); } و إجابتا على سؤالك الثاني فالصور تحفظ داخل مجلدات المشروع في الخادم. فمثلا في هذا المثال ستجد الصورة في مجلد public/images ويمكن أيضا تخزينها في مجلدات أخرى حسب الحاجة. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Mohammed Abu Yousef نشر 27 أبريل 2021 الكاتب أرسل تقرير مشاركة نشر 27 أبريل 2021 (معدل) متشكر جدا طيب أين يتم حفظ الصور؟ قصدي ( عند الرفع على استضافة، هل يتم حفظ الصور في السيرفر ؟ ) تم التعديل في 27 أبريل 2021 بواسطة Mohammed Abu Yousef اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Mohammed Abu Yousef
أريد أن أقوم بتخزين صورة قادمة من تطبيق جوال ( فلاتر ) في قاعدة البيانات ( MySQL ) باستخدام Laravel
يعني ال request يتم إرساله لل API
رابط هذا التعليق
شارك على الشبكات الإجتماعية
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.