سلام دوستان
وقتی توی متن پست در ckeditor یه تصویر میزاریم و ثبت میزنیم خطای 403 میده ولی وقتی تصویر نباشه و فقط متن باشه اوکیه
توی لاراول 7 اجرای کردم
نسخه ckeditor هم 4 هست
حالا جالب اینجاست تصویر به درستی آپلود میشه توی هاست و نمایش داده میشه توی پشنمایش متن ولی وقتی میخوایم پست به همراه تصویر را ذخیره کنیم خطای 403 میده
کسی تا حالا این مشکلو داشته ؟
سلام
اگر قراره جواب سوال "کسی تا حالا این مشکلو داشته ؟" بدهم خیر این مشکل رو نداشتم ...
ولی به جهت بررسی بیشتر و حل مشکل شما بهتره کدتون رو قرار بدید
سلام.
باید به صورت زیر عمل کنید.
روت:
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',
],
موفق باشید.
@rezajahangir دقیقا منم همینجوری نوشتم
توی لوکال درسته ولی توی هاست مشکل دارم
دسترسی پوشه ها هم 755 هست
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟