博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
富文本编辑器TInyMCE,本地图片上传(Image Upload)
阅读量:6622 次
发布时间:2019-06-25

本文共 1773 字,大约阅读时间需要 5 分钟。

TinyMCE 官网 (类似:百度的富文本web编辑器UEditor)

第一步

下载 TinyMCE,解压后放入工程,在需要的HTML页面引入tinymce.min.js。

第二步

下载tinyMCE image upload 插件 tinymce-imageupload,解压后把该文件夹放在 tinymcejstinymceplugins目录下。

该插件使用了jquery.iframe-post-form.js ,在试用的时候没有成功,遂换成 jquery.form.js 对插件进行改造。

第三步

下载jquery.form.js,在HTML页面引入jquery和该插件。

jquery.form.js 提供了基础的文件上传表单,可以用此插件上传本地图片到服务器。然后得到图片对应的URL。

第四步:

在HTML页面,初始化tinyMCE:

tinymce.init({    selector: '#myTextArea',    theme: 'modern',    menubar: false,    width: 750,    height: 250,    autoresize_min_height: 350,    imageupload_url: 'serverAddress/file/fileUpload', //图片上传地址    plugins: [        "advlist autolink print preview  imageupload"    ],    toolbar: "insertfile undo redo | bold | print preview | imageupload",    convert_urls: false,    // init_instance_callback: setTinyContent});

文件上传后的处理(tinymce\plugins\imageupload\plugin.min.js

服务器返回格式:

{"error":false,"path":"http:\/\/www.mydomain.com\/myimage.jpg"}

根据服务器的返回对应修改。大致流程:把服务器返回的路径置入<img>标签中,插入到tinyMCE编辑器中,然后即可看到上传的图片。

$('#uploadImageForm').ajaxSubmit({        dataType: 'json',        success: function(response){            if (response.url) {                var tpl = '';                var tplV = tpl.replace('%s', response.url);                tplV = tplV.replace('%k', response.key);                ed.insertContent(tplV);                ed.focus();                removeForeground();                removeBackground();            } else {                showImageUploadError('上传失败,请重试!');            }        },        error: function(){            showImageUploadError('上传失败,请重试!');        }});

改造后的插件

注意点:

点击上传图标后,弹出的上传图片窗口,由于tinyMCE内置CSS的问题导致弹窗缩放0.1倍,问题CSS:

.mce-window {    transform:scale(.1)}

(come from skin.min.css)

在使用的时候重写覆盖掉就可以了:

.mce-window {    transform: initial !important;}

原文地址:

转载地址:http://wmjpo.baihongyu.com/

你可能感兴趣的文章
react native 入门之javascript
查看>>
管理ORACLE实例
查看>>
Confluence 6 MySQL 数据库设置准备
查看>>
Ruby 中 0/0.0 = NaN
查看>>
Confluence 6 教程:空间高手
查看>>
JEESNS数据库表设计结构
查看>>
JavaScript学习笔记:判断变量是否为undefined,判断变量和函数是否声明
查看>>
局域网访问Apache服务器
查看>>
我的友情链接
查看>>
SpringMVC中用于绑定请求数据的注解以及配置视图解析器
查看>>
JavaScript 闭包
查看>>
如何修改远程桌面3389端口
查看>>
Anthos Config Management 产品设计分析
查看>>
我的友情链接
查看>>
Spark算子:RDD行动Action操作(3)–aggregate、fold、lookup
查看>>
UILabel总结
查看>>
java获取当前时间前一周、前一月、前一年的时间
查看>>
话说WEB开发之页面重绘和回流
查看>>
vuex之传递参数(五)
查看>>
xutils使用手册(一)——初始化
查看>>