独立使用UEditor编辑器图片和文件上传(调用内置第三方插件swfupload)

最近百度了一下网上的资料并看了一下ueditor的api,整理并测试了一下,发现还真好用,现在和大家分享一下

这里配置了一个正常的ueditor编辑器和编辑器外面的两个上传按钮。

首先引入js文件

1 <script src="ueditor/ueditor.config.js"></script>
2 <script src="ueditor/ueditor.all.min.js"></script>

然后在html中放置编辑器,为了不使独立上传图片或者文件影响到正常的编辑器,这里要多设置一个,myEditor是正常使用的编辑器,upload_ue为隐藏的编辑器。

1 <script type="text/plain" id="myEditor"></script>
2 <script type="text/plain" id="upload_ue"></script>

分别实例化两个编辑器,这里只做简单配置

1 <script type="text/javascript">
2     var editor = UE.getEditor('myEditor', {
3         initialFrameWidth: 800,
4         initialFrameHeight: 300,
5     });
6 </script>
 1 <script type="text/javascript">
 2     //重新实例化一个编辑器,防止在上面的editor编辑器中显示上传的图片或者文件
 3     var _editor = UE.getEditor('upload_ue');
 4     _editor.ready(function () {
 5         //设置编辑器不可用
 6         _editor.setDisabled();
 7         //隐藏编辑器,因为不会用到这个编辑器实例,所以要隐藏
 8         _editor.hide();
 9         //侦听图片上传
10         _editor.addListener('beforeInsertImage', function (t, arg) {
11             //将地址赋值给相应的input,只去第一张图片的路径
12             $("#picture").attr("value", arg[0].src);
13             //图片预览
14             $("#preview").attr("src", arg[0].src);
15         })
16         //侦听文件上传,取上传文件列表中第一个上传的文件的路径
17         _editor.addListener('afterUpfile', function (t, arg) {
18             $("#file").attr("value", _editor.options.filePath + arg[0].url);
19         })
20     });
21     //弹出图片上传的对话框
22     function upImage() {
23         var myImage = _editor.getDialog("insertimage");
24         myImage.open();
25     }
26     //弹出文件上传的对话框
27     function upFiles() {
28         var myFiles = _editor.getDialog("attachment");
29         myFiles.open();
30     }
31 </script>

最后为了能使文件上传后把上传的文件路径填充到input里面去,要添加侦听的事件到dialogs\attachment\attachment.html文件中,在editor.execCommand("insertHTML",str);前面添加,filesList是上传的文件列表,这里只取第一个上传的文件的地址

1 editor.fireEvent('afterUpfile', filesList);

最后别忘了添加上传按钮

1 <input type="text" id="picture" name="cover" /><a href="javascript:void(0);" onclick="upImage();">上传图片</a>
2 <input type="text" id="file" /><a href="javascript:void(0);" onclick="upFiles();">上传文件</a>

配置完毕。

代码可以在我的小站下载:http://www.holdcode.com/web/details/72

posted @ 2013-06-20 09:06  stupage  阅读(5831)  评论(2编辑  收藏  举报