آپلود عکس ویرایشگر CKEditor 5 در لاراول

آپلود عکس ویرایشگر CKEditor 5 در لاراول

در این مقاله به آپلود عکس در ویرایشگر متنی CKEditor 5 می پردازیم که هنگام نصب آن آپلودی انجام نمی شود و باید کنترلر آپلود عکس برای ارتباط با ویرایشگر بنویسیم.

برای شروع EditorController ایجاد کنید:
php artisan make:controller EditorController
مسیر روت با متد post برای EditorController ایجاد کنید:
Route::post('editor', [EditorController::class, 'upload'])->name('editor.upload');

کد زیر را در کنترلر وارد کنید:

public function upload(Request $request)
{
   if ($request->hasFile('upload')) {
       $originName = $request->file('upload')->getClientOriginalName();
       $fileName = pathinfo($originName, PATHINFO_FILENAME);
       $extension = $request->file('upload')->getClientOriginalExtension();
       $fileName = $fileName . '_' . time() . '.' . $extension;
       $request->file('upload')->move(public_path('media'), $fileName);

       $url = asset('media/' . $fileName);
       return response()->json(['fileName' => $fileName, 'uploaded'=> 1, 'url' => $url]);
   }
}

کد بالا هنگامی آپلود عکس انجام می شود, پوشه media در پوشه public لاراول ایجاد می شود و نیازی نیست دستی ایجاد کنید.

فایل جاوا اسکریپت ویرایشگر CKEditor 5 به لاراول منتقل کنید:
<script src="https://cdn.ckeditor.com/ckeditor5/36.0.1/classic/ckeditor.js"></script>

می توانید روی این پیوند لینک کنید و فایل را دانلود کنید.

ویرایشگر متنی CKEditor را فعال سازی می کنیم:
<textarea class="form-control" id="editor" rows="10"></textarea>
<script>
    ClassicEditor
    .create( document.querySelector( '#editor' ), {
        ckfinder: {
            uploadUrl: '{{route('editor.upload').'?_token='.csrf_token()}}'
        },
        language: {
            content: 'ar'
        }
    })
   .then( editor => {
         console.log( editor );
   })
   .catch( error => {
        console.error( error );
   })
</script>
پیش نمایش:
ck5

موفق باشید 🙂

پیوند منابع
لاراول (Laravel) آوریل/06/2023 1779
https://rayium.ir/?p=922
  1. رسول گفت:

    تا اینجا درست اگر بخواهیم به همین کد قابلیت تغیر اندازه ، نوع فونت و راست چین و چپ چین بود رو اضافه کنیم باید چه کار کنیم ؟
    من نسخه های مختلف رو دانلود کردم هر کدوم رو دانلود می کنید یکی چیزی کم داره در نسخه ۵ ، قابلیت سفارشی سازی یا همان سازننده آنلاین رو هم امتحان کردم کلا بر اساس دایکومنت بدی جلو دو جور متفاوت بخش آپلود عکس و بقیه امکانات رو جلو رفته لا گیج کننده اگر بتونید هما قابلیت ها رو در یک آموزش بگید خیلی عالی میشه مثلا عکس آپلود میشه ولی نمی تونی متن رو تغیر بدی اندازه و نوع اون رو کلا یک جایی کم داره

  2. رسول گفت:

    من برای یک بلاگ نیاز به تنظیمات عکس ، اندازه و نوع فونت ، راست چین و چپ چین کردن متن ، تغیر اندازه عکس و جابجا کردن اون در متن ، جدول و … دارم اگر بتونید در قالب یک آموزش همه اینها رو انجام چه متنی یا فیلم آموزش بدید خیلی عالی میشه
    هر چی آموزش من در نت دیدم یک تیکه از این رو آموزش داده ، من از لاراول و بلید استفاده می کنیم

  3. baghban گفت:

    سلام. با روش شما مشکلم حل شد. با تشکر فراوان از آموزش خوبتون

دیدگاه شما