UEditor单独图片上传

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UEditor单独图片上传相关的知识,希望对你有一定的参考价值。

在UEditor里点击图片图标的时候 先弹出属性框 然后 图片url地址栏旁边加一个按钮 点击那个按钮的时候弹出选择图片窗口 选完之后光把地址传到图片URL地址栏面 点击确定的时候 再吧信息发送到编辑器里面
能实现吗?
请大虾们帮帮搞定吧~

参考技术A 可以实现,我之前做过

ueditor单独调用上传附件和图片的功能

ueditor单独调用上传附件和图片的功能

第一步, 引入文件

<script src="jquery.min.js" type="text/javascript" ></script>

<script src="ueditor/ueditor.config.js" type="text/javascript" ></script>
<script src="ueditor/ueditor.all.min.js" type="text/javascript" ></script>

第二步 html元素

<script type="text/plain" id="upload_ue"></script>

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


第三步 编写js代码

<script type="text/javascript">
var _editor;
$(function() {

//重新实例化一个编辑器,防止在上面的editor编辑器中显示上传的图片或者文件
_editor = UE.getEditor(‘upload_ue‘);
_editor.ready(function () {
//设置编辑器不可用
_editor.setDisabled();
//隐藏编辑器,因为不会用到这个编辑器实例,所以要隐藏
_editor.hide();
//侦听图片上传
_editor.addListener(‘beforeInsertImage‘, function (t, arg) {
//将地址赋值给相应的input,只去第一张图片的路径
$("#picture").attr("value", arg[0].src);
//图片预览
$("#preview").attr("src", arg[0].src);
})
//侦听文件上传,取上传文件列表中第一个上传的文件的路径
_editor.addListener(‘afterUpfile‘, function (t, arg) {
$("#file").attr("value", _editor.options.filePath + arg[0].url);
})
});
});
//弹出图片上传的对话框
function upImage() {
var myImage = _editor.getDialog("insertimage");
myImage.open();
}
//弹出文件上传的对话框
function upFiles() {
var myFiles = _editor.getDialog("attachment");
myFiles.open();
}
</script>

第四步 最重要的一步, 修改bug

打开image插件的image.js 108行
editor.execCommand(‘insertimage‘, list);代码之前加入
editor.fireEvent(‘beforeinsertimage‘, list);然后问题搞定

第五步,如果第四步不行,请参考这一步

在ueditor文件夹中找到文件dialogsattachmentattachment.js中找到代码

editor.execCommand(‘insertfile‘, list);

在这行代码前添加editor.fireEvent(‘afterUpfile‘, list);然后问题搞定

 

ps:version:1.4.3.2

补充:

若一个页面多个上传:
参考下面改动:


<script type="text/plain" id="upload_ue"></script>
<script type="text/javascript">
//重新实例化一个编辑器,防止在上面的editor编辑器中显示上传的图片或者文件
var _editor = UE.getEditor(‘upload_ue‘);
_editor.ready(function () {
//设置编辑器不可用
_editor.setDisabled(‘insertimage‘);
//隐藏编辑器,因为不会用到这个编辑器实例,所以要隐藏
_editor.hide();
//侦听图片上传
_editor.addListener(‘beforeInsertImage‘, function (t, arg) {
//将地址赋值给相应的input,只去第一张图片的路径
// $("#picture").attr("value", arg[0].src);
//图片预览

//判断是那个图片上传按钮的命令
var yf=document.getElementById("orderNum").value;
// alert(yf);
if (yf==‘pic1‘)
{
$("#previewPic1").attr("src", arg[0].src);
$("#pic1").attr("value", arg[0].src);
}
else if (yf==‘pic2‘){
$("#previewPic2").attr("src", arg[0].src);
$("#pic2").attr("value", arg[0].src);
}
else if (yf==‘pic3‘){
$("#previewPic3").attr("src", arg[0].src);
$("#pic3").attr("value", arg[0].src);
}
else if (yf==‘pic4‘){
$("#previewPic4").attr("src", arg[0].src);
$("#pic4").attr("value", arg[0].src);
}
else
{
$("#preview").attr("src", arg[0].src);
$("#picture2").attr("value", arg[0].src);

}

})

});
//弹出图片上传的对话框
function upImage() {
var myImage = _editor.getDialog("insertimage");
myImage.open();
}

</script>

<input type="text" id="picture2" name="cover" /><a href="javascript:void(0);" onClick="upImage();">上传图片</a>
<img src="" id="preview" /><br />

<input type="hidden" id="orderNum"/><input type="text" id="pic1" /> <img src="" id="previewPic1" /><a href="javascript:void(0);" onClick="upImg(‘pic1‘);">上传图片</a>
<br />
<input type="text" id="pic2" /> <img src="" id="previewPic2" /><a href="javascript:void(0);" onClick="upImg(‘pic2‘);">上传图片</a>
<br />
<input type="text" id="pic3" /> <img src="" id="previewPic3" /><a href="javascript:void(0);" onClick="upImg(‘pic3‘);">上传图片</a>
<br />
<input type="text" id="pic4" /> <img src="" id="previewPic4" /><a href="javascript:void(0);" onClick="upImg(‘pic4‘);">上传图片</a>

<script>
function upImg(a){
document.getElementById(‘orderNum‘).value=a;
//alert(document.getElementById(‘orderNum‘).value);
upImage();

 


}
</script>

 

以上是关于UEditor单独图片上传的主要内容,如果未能解决你的问题,请参考以下文章

ueditor单独调用上传附件和图片的功能

ueditor 1.5版本单独调用图片上传如何实现?

ueditor单独调用上传附件和图片的功能

Ueditor 1.4.3 单独调用上传图片,或文件功能

关于ueditor1.1.8图片上传功能,求大神看看下面的代码为啥没用,我是想单独调用图片上传动能

使用Ueditor上传图片到图片服务器