Froala editor的基本使用

本王身为一个苦逼的程序员,在我的工作历程中,终于迎来了第一次使用富文本的项目。

由于工作时间紧急,于是就草草的百度一番,选中了名气贼大的百度富文本ueditor,不得不说,百度富文本在外观上还是相当精美的,至少符合了精简、功能强大的需求,于是,我就踩入这个深坑没有自拔。

首先我下载了精简版的 umeditor(ueditor的精简版本)1.2.3版本,在百般调试之后,部署到项目中,然后!!!字体字号修改不能用!!!,当时我心中一万匹什么马奔腾而过,没办法,水平有限,只能找最快的方法,百度!!,然后发现说1.2.3版本就是有这样的问题,网友们推荐1.2.2版本,之后我就下载了1.2.2版本,还不错,根据网上的使用方法啥的终于在本地部署成功,然而还没有完!!后来部署到服务器上之后,上传图片功能不能用!!!你没听错,真的不能用!好吧,这个富文本的使用我也不再记录,因为百度不再维护这个富文本编辑器,bug众多,我想我以后应该也不会选择这个富文本了,好吧废话不多说,下面来干货。

Froala Editor 官网地址在此!https://www.froala.com

1.下载

嘛,下载什么的我也不多说了把,下载就完了。

2.使用

那啥,下载的里面都有demo,直接看一下就知道怎么用。

3.使用技巧

我在使用的过程中,就应用到了几个地方,下面来说一哈

1)更改语言

$(function () {
        $('#edit').froalaEditor({
            language: 'zh_cn',
            toolbarButtons: ['fullscreen', 'bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', '|', 'color', 'emoticons', 'inlineStyle', 'paragraphStyle', '|', 'paragraphFormat', 'align', 'formatOL', 'formatUL', 'outdent', 'indent', '-', 'insertLink', 'insertImage', 'insertTable', '|', 'quote', 'insertHR', 'undo', 'redo', 'clearFormatting', 'selectAll', 'html'],
            quickInsertButtons: ['image', 'table', 'ol', 'ul'],
            imageUploadURL: "http://192.168.1.86:8080/exampage/ques/ziliaoceshi.do",
        })
    });

上图中的language就是更改语言的地方了。

2)更改顶端按钮框

上面的toolbarbuttons就是了,可以按照需求更改自己的按钮个数以及顺序。

3)更改快捷添加框

上面的quickInsertButtons就是了,可以更改快捷添加的按钮个数,以及功能。

4)更改图片上传路径

这个要重点说一下,在上面的代码中你看到imageUploadURL,imageUploadURL其实就是你处理该插件上传图片的后台方法地址,而不是你的图片要上传到的路径。
下面贴出我的后台处理方法。

@RequestMapping(value = "/exampage/ques/ziliaoceshi",method = RequestMethod.POST)
    public void ziliaoceshi(HttpServletRequest request,HttpServletResponse response) throws IOException {
        request.setCharacterEncoding("UTF-8");
        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
                request.getSession().getServletContext());
        MultipartHttpServletRequest multiRequest = multipartResolver.resolveMultipart(request);
        CommonsMultipartFile file=(CommonsMultipartFile) multiRequest.getFile("file");

        String webpath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();
        //localhost:8080
        webpath+="/pages/exampage/ques/froala_images/";//服务器文件地址

        String localpath=request.getSession().getServletContext().getRealPath("");
        localpath+="/pages/exampage/ques/froala_images/";//文件保存地址
        System.out.println(localpath+"localpath");
        System.out.println(webpath+"webpath");

        if (file!=null){
            String random= Toolsyhs.getfilname(file.getOriginalFilename());
            webpath+=random;
            localpath+=random;
        }
        file.transferTo(new File(localpath));
        Mapmap = new HashMap<>();
        map.put("link",webpath);
        Gson gson=new Gson();
        System.out.println("hashmap"+gson.toJson(map));
        response.setHeader("Access-Control-Allow-Origin", "*");  //解决跨域问题 一般不推荐使用  现在没找到好的解决方法
        response.getWriter().write(gson.toJson(map));
    }

注意:
1)后台处理后可能会出现跨域错误

No ‘Access-Control-Allow-Origin‘ header is present on

上面的代码中也已经写过解决方法了,不再赘述。

2)后台返回格式一定是

{"link": "图片的绝对地址"}

在满足上面的2个条件之后,上传图片功能就完成了。另外,推测文件上传和视频上传是一样的,本篇文章可以作为参考。

你可能感兴趣的:(Froala editor的基本使用)