如何修复 CKeditor 在 laravel 项目中没有上传图像功能



我的 ckeditor 没有上传图像功能。我希望该功能可用。如何在拉拉维尔中解决这个问题?

您可以使用可以轻松上传和管理多个文件的CKFinder。使用内置的图像编辑器,可以裁剪,调整大小,旋转,调整亮度,对比度,饱和度,曝光和清晰度以及一些预定义的滤镜预设。

<script>
CKEDITOR.replace( 'editor1', {
filebrowserBrowseUrl: '/ckfinder/ckfinder.html',
filebrowserUploadUrl: '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files'
} );
$('.textarea').wysihtml5();
</script>

文档在这里

对于拉拉维尔:

CKEDITOR.replace('editor1', {
filebrowserUploadUrl: "{{ route('ckeditor.upload', ['_token' => csrf_token() ])}}",
filebrowserUploadMethod: 'form'
});

在您的路线中:

Route::post('images/upload', 'ImageController@upload')->name('ckeditor.upload');

而您的ImageController

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('images'), $fileName);

$CKEditorFuncNum = $request->input('CKEditorFuncNum');
$url = asset('images/'.$fileName); 
$msg = 'Image uploaded successfully'; 
$response = "<script>window.parent.CKEDITOR.tools.callFunction($CKEditorFuncNum, '$url', '$msg')</script>";

@header('Content-type: text/html; charset=utf-8'); 
echo $response;
}
}

干杯!!!

最新更新