laravel 文章发布功能----ckeditor使用(附带post处理方法)

    如果要做一个文章发布功能,一个优秀的在线HTML编辑器是必不可少的,目前来说,优秀的在线HTML编辑器有“ckEditor”、“kindEditor”、“xhEditor”,而我选择的是“ckEditor”,这篇文章将会介绍自己laravel项目中如何使用"ckEditor"。

    (一)版本说明

      1、laravel版本是5.2

       2、ckEditor版本是3.6.3、

      (二)视图设置

      1、添加需要用到ckeditor的文本内容(注意,需要使用textarea,并且id为下一步JavaScript代码中替换的id,这里使用的是‘content’):

     

      2、添加JavaScript代码 

    
在这段代码当中,‘content’则是上一步添加的itextarea的id,可以自行定义,而filebrowserBrowseUrl变量指的是浏览你服务器图片存放目录,如果不想不需要可以删去这个变量。filebrowserUploadUrl变量是指图片post提交的处理地址,因为laravel默认开启了csrf验证,所以在url地址需要加上“?_token={{csrf

_token()}}”,如果不添加又不更改laravel默认csrf设置,将会提示错误。

       (三)post图片数据处理

          1、laravel路由添加(routes.php):

   Route::controller('admin/article','ArticleController');
这是同上一步JavaScript中filebrowserUploadUrl变量相对应,目的使图片post到url有效。

        2、laravel图片post处理(ArticleController.php):

 public function postImage(Request $request)
    {

        if ($request->hasFile('upload')) {     //upload为ckeditor默认的file提交ID
            $file = $request->file('upload');   //从请求数据内容中取出图片的内容
            $allowed_extensions = ["png", "jpg", "gif"]; //允许的图片后缀
            if ($file->getClientOriginalExtension() && !in_array($file->getClientOriginalExtension(), $allowed_extensions)) {
                return '图片后缀只支持png,jpg,gif,请检查!';
            }
            $destinationPath = 'uploads/images/';  //图片存放路径
            $extension = $file->getClientOriginalExtension();  //获得文件后缀
            $fileName = str_random(10) . '.' . $extension;  //创建图片名字
            $result = $file->move($destinationPath, $fileName); //存储图片到路径
            echo url('') . '/' .$result ; //输出图片网站中浏览路径

        }
    }
我选择对图片处理是把图片存放在服务器上,并返回图片浏览的url地址。其实还有一种比较好的做法是把url直接通过JavaScript直接填在图片浏览url栏上。
   (四)成功之后的效果:

   laravel 文章发布功能----ckeditor使用(附带post处理方法)_第1张图片

laravel 文章发布功能----ckeditor使用(附带post处理方法)_第2张图片

laravel 文章发布功能----ckeditor使用(附带post处理方法)_第3张图片

laravel 文章发布功能----ckeditor使用(附带post处理方法)_第4张图片


   

你可能感兴趣的:(laravel)