نوب
3 سال پیش توسط نوب مطرح شد
3 پاسخ

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

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

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

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


ثبت پرسش جدید
علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش مطرح شد
0

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


رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 3 سال پیش مطرح شد
0

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

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 3 سال پیش مطرح شد
0

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

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


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

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