在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 属性。
程序截图如下:


