编程开发 > JSP > 文章内容

使用富文本编辑器上传图片实例详解

2017-4-28编辑:ljnbset

使用富文本编辑器上传图片实例详解

一、导入kindeditor的js

?

1

2

二、将kindeditor与一个文本域textarea进行关联,即用textarea初始化一个kindeditor对象

?

1

2

3

4

5

itemAddEditor = TAOTAO.createEditor("#itemAddForm [name=desc]");

//初始化类目选择和图片上传器

 TAOTAO.init({fun:function(node){

    TAOTAO.changeItemParam(node, "itemAddForm");

 }});

三、设置要上传的参数

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

var TT = TAOTAO = {

  // 编辑器参数

  kingEditorParams : {

    //指定上传文件参数名称

    filePostName : "uploadFile",

    //指定上传文件请求的url。

    uploadJson : '/pic/upload',

    //上传类型,分别为image、flash、media、file

    dir : "image"

  },

   

  init : function(data){

    // 初始化图片上传组件

    this.initPicUpload(data);

    // 初始化选择类目组件

    this.initItemCat(data);

  },

  // 初始化图片上传组件

  initPicUpload : function(data){

    $(".picFileUpload").each(function(i,e){

      var _ele = $(e);

      _ele.siblings("div.pics").remove();

      _ele.after('\

        
\

          
    \

            
    ');

          // 回显图片

          if(data && data.pics){

            var imgs = data.pics.split(",");

            for(var i in imgs){

              if($.trim(imgs[i]).length > 0){

                _ele.siblings(".pics").find("ul").append("
  • "
    );

              }

            }

          }

          //给“上传图片按钮”绑定click事件

          $(e).click(function(){

            var form = $(this).parentsUntil("form").parent("form");

            //打开图片上传窗口

            KindEditor.editor(TT.kingEditorParams).loadPlugin('multiimage',function(){

              var editor = this;

              editor.plugin.multiImageDialog({

                clickFn : function(urlList) {

                  var imgArray = [];

                  KindEditor.each(urlList, function(i, data) {

                    imgArray.push(data.url);

                    form.find(".pics ul").append("
  • "
    );

                  });

                  form.find("[name=image]").val(imgArray.join(","));

                  editor.hideDialog();

                }

              });

            });

          });

        });

    服务端代码

    ?

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    public Map uploadPicture(MultipartFile uploadFile) {

       Map resultMap=new HashMap<>();

       try {

         //生成一个新的文件名

         //去原始文件名

         String oldName=uploadFile.getOriginalFilename();

         //生成新的文件名

         //UUID.randomUUID();

         String newName=IDUtils.genImageName();

         newName=newName+oldName.substring(oldName.lastIndexOf("."));

         String imagePath=new DateTime().toString("/yyyy/MM/dd");

         //上传图片

         boolean result=FtpUtil.uploadFile(FTP_ADDRESS,FTP_PORT, FTP_USERNAME, FTP_PASSWORD, FTP_BASE_PATH,

             imagePath, newName, uploadFile.getInputStream());

         System.out.println("result="+result);

         if(!result){

           resultMap.put("error", 1);

           resultMap.put("message", "文件上传失败");

           System.out.println("hh");

           return resultMap;

         }

          

         resultMap.put("error", 0);

         resultMap.put("url", IMAGE_BASE_PATH + imagePath + "/" + newName);

         return resultMap;

       } catch (IOException e) {

         resultMap.put("error", 1);

         resultMap.put("message", "文件上传异常");

         return resultMap;

       }

     }

    JSP过滤器Filter配置过滤类型全部汇总

    热点推荐

    登录注册
    触屏版电脑版网站地图