یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دوره‌ها

استفاده از تخفیف‌ها
ثانیه
دقیقه
ساعت
روز
فرشید مرادی
4 سال پیش توسط فرشید مرادی مطرح شد
27 پاسخ

آپلود عکس در ckeditor 5

سلام وقت بخیر ،
ممنون میشم در رابطه با نحوه آپلود عکس در ckeditor 5 راهنماییم کنید ، در واقع برای بخش بلاگ ها نیاز دارم که یکسری توضیح به همراه چند عکس داخل دیتابیس ذخیره کنم.
داکیومنت ckeditor رو خوندم ولی متوجه نشدم...


ثبت پرسش جدید
رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 4 سال پیش آپدیت شد
2

سلام.
توضیحات مربوط به ورژن 4 هست.
روت:

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',
        ],

موفق باشید.


فرشید مرادی
تخصص : noob
@eniack 4 سال پیش مطرح شد
0

@juza66
این آدرسش هست

blob:http://localhost:8000/e2098be2-0f72-46c1-a877-4f658d5593c2

و مثل اینکه دسترسی ندارم بهش این ارور رو میده

Your file couldn’t be accessedIt may have been moved, edited, or deleted.
ERR_FILE_NOT_FOUND

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

@eniack
مجدد کدایی که واستون فرستادم رو چک کنید و مطمئن باشید که درست جایگذاری کردید چون اگه درست انجام داده باشین دیگه نباید ارور بده.
واسه ویرایش هم بررسی کن که یکی از فایل های js که داری load میکنی ممکنه دچار بروز این مشکل بشه، فایل های js که داخل صفحه ی مربوطه load کردی رو یکی یکی کامنت کن و تست کن ببین مشکل از کدوم فایل هست.
منظورم به صورت زیر هست.
مثلا فرض کن این دوتا رو load کردی:

<script src="{{ asset('js.js') }}"></script>
<script src="{{ asset('javascript.js') }}"></script>

یه بار اولی رو کامنت کن و تو قسمت ویرایش تست کن ببین مشکل حل میشه و عکس بهت نمایش داده میشه و دفعه بعد اولی رو بذار باشه و دومی رو کامنت کن و مجدد تست کن.
من خودم یه بار این مشکلو داشتم و با این کار حل شد.


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

@msdabbagh
خواهش میکنم امیدوارم مفید بوده باشه.
یعنی شما منظورتون اینه که بعد از کلیک، به جای صفحه خود ادیتور مودال باز بشه؟


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 4 سال پیش مطرح شد
0

@rezajahangir
بله ، من در مودال لیست تصاویر قبلا آپلود شده رو دارم و با کلیک روی انتخاب میشه url اون رو به هر چیزی پاس داد.
الان میخوام در ادیتور با کلیک روی ایکن تصویر این مودال باز بشه و پس از انتخاب تصویر url برگرده.


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

@msdabbagh
آیدی مربوط به اون دگمه، cke26 هست، حالا با این آیدی تست کنید ببینید به نتیجه میرسید یا نه؟


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 4 سال پیش مطرح شد
0

@rezajahangir
من از نسخه 5 استفاده میکنم و چنین آیدی وجود نداره

<button class="ck ck-button ck-off" type="button" tabindex="-1" aria-labelledby="ck-editor__aria-label_ee5486f600c5c0f71bfbcfb4e0444b53d">...

در نسخه 4 اگر آیدی داره که من تغییر نسخه بدم.
در ضمن بعد از اینکه مودال باز شد به جای دستور زیر چه باید بنویسم؟

$('#send_file_selected').click(function () {
            let val = $("input[type='radio'][name='file_selected']:checked").val();
            $('#workshops_avatar').val(val); //به جای این چه بنویسم
            $('#modal-up').hide();
})

فرشید مرادی
تخصص : noob
@eniack 4 سال پیش مطرح شد
0

@rezajahangir
مشکل از ورژن ckeditor بود و الان به شکل درست هم آپلود میشه و هم نمایش میده


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

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