在TinyMCE 在处理富文本时,可以通过网站的相对路径录入图片地址。这样TinyMCE 就可以正常显示图片了。其实该功能属于普通HTML富文本控件基本功能了。现有需求将TinyMCE 扩展成可直接上传本地图片而后在文本区域显示图片。
实现思路:
使用Ajax 进行图片上传,此上传方式可以更友好的实现TinyMCE 的图片上传扩展,
具体方法可以参考我的上一篇 Jquery ajaxsubmit 上传图片。将Ajax上传图片集成到 TinyMCE 中,
主要是修改TinyMCE 目录下的 tinymce\jscripts\tiny_mce\plugins 的 advimage 插件。
了解TinyMCE的人应该知道 TinyMCE 类似 FireFox。 开发者是可以为其编写适合自己需求的插件。
所以只要稍稍修改 advimage 这个插件即可。我们为 advimage
目录下的image.htm 新增 jquery 图片异步提交代码:
1 <script type="text/javascript">
2 function AjaxUploadPic() {
3 if ($("#flUpload").val() == "") {
4 alert("请选择一个图片文件,再点击上传。");
5 return;
6 }
7
8 $('#myForm').ajaxSubmit({
9 beforeSubmit: function() {
10 },
11 success: function(html, status) {
12 var result = html.replace("<PRE>", "");
13 result = result.replace("</PRE>", "");
14 if (html.indexOf("格式") > 0) {
15 alert(result);
16 return;
17 }
18 $("#src").val(result);
19 ImageDialog.showPreviewImage($("#src").val())
20 }
21 });
22
23 }
24 });
25 </script>
当然了,flUpload 这个input type="file" 需要被form html标签包住同时为该form设置好
method="post" enctype="multipart/form-data" action=url 属性。
程序截图如下:
作者:RyanDing
出处:http://www.cnblogs.com/ryanding/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有疑问,可以通过 ryan.d@qq.com 联系作者本人。