راکت

خطای 403 در ckeditor در لاراول

3 پاسخ

سلام دوستان
وقتی توی متن پست در ckeditor یه تصویر میزاریم و ثبت میزنیم خطای 403 میده ولی وقتی تصویر نباشه و فقط متن باشه اوکیه
توی لاراول 7 اجرای کردم
نسخه ckeditor هم 4 هست

حالا جالب اینجاست تصویر به درستی آپلود میشه توی هاست و نمایش داده میشه توی پشنمایش متن ولی وقتی میخوایم پست به همراه تصویر را ذخیره کنیم خطای 403 میده

کسی تا حالا این مشکلو داشته ؟

ثبت پرسش جدید

پاسخ‌ها

3
علیرضا کفایتی
علیرضا کفایتی
@alirezakefayati

تخصص: برنامه نویس laravel, vue.js

سلام
اگر قراره جواب سوال "کسی تا حالا این مشکلو داشته ؟" بدهم خیر این مشکل رو نداشتم ...
ولی به جهت بررسی بیشتر و حل مشکل شما بهتره کدتون رو قرار بدید

رضا جهانگیر
رضا جهانگیر
@rezajahangir

تخصص: Full-Stack Developer

سلام.
باید به صورت زیر عمل کنید.
روت:

Route::post('/editor/upload', [EditorUploadController::class, 'upload'])->name('editor-upload');

کنترلر مربوطه:

class EditorUploadController extends Controller
{
    public function upload(Request $request) {
        $file = $request->file('upload');
        $base_name = pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME);
        $ext = $file->getClientOriginalExtension();
        $file_name = $base_name . '_' . time() . '.' . $ext;
        $file->storeAs('images/Articles', $file_name, 'public_files');
        $function = $request->CKEditorFuncNum;
        $url = asset('images/Articles/' . $file_name);

        return response("<script>window.parent.CKEDITOR.tools.callFunction({$function}, '{$url}', 'فایل به درستی آپلود شد')</script>");
    }
}

در بلید مربوطه کد زیر رو اضافه کنید.

<script src="https://cdn.ckeditor.com/4.16.0/standard/ckeditor.js"></script>
        <script>
            CKEDITOR.replace('content', {
                language: 'fa',
                filebrowserUploadUrl: '{{ route("editor-upload", ["_token" => csrf_token()]) }}',
                filebrowserUploadMethod: 'form'
            })
</script>

در آخر به مسیر زیر برید:

config\filesystems.php

و کد زیر رو اضافه کنید.

'public_files' => [
            'driver' => 'local',
            'root' => public_path(),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
],

موفق باشید.

شاید پاسخ شما همین‌جا باشد

نوب
نوب
@yk5742g

تخصص: کدنویس نوب :)

@rezajahangir دقیقا منم همینجوری نوشتم
توی لوکال درسته ولی توی هاست مشکل دارم

دسترسی پوشه ها هم 755 هست

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام