(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)
题记:今天将继续上一篇来讲解百度富文本Web编辑器UEditor或UMEditor的使用。
上一篇“ASP.NET 5探险”,我给大家分享了如何在ASP.NET 5中实现文件上传。我之所以研究这一问题的原因,就是要在百度的百度富文本Web编辑器UMEditor中实现图片上传。那么今天我们回过头来看看如何在ASP.NET 5的MVC 6项目中使用UMEditor(UEditor的使用应该比较类似)。
1,从UMEditor官网下载安装包,随便什么版本的UTF-8版都可以,因为就算你下载的.NET版本里面附带的后端代码也是不能直接使用的。
2,在wwwroot中建立一个文件夹来包含UMEditor的前端文件,比如我的是“umeditor”,把安装包的文件解压后放到这个文件夹中。注意不要包含后端代码的子文件夹。
3,要使用,和普通的前端框架类似,在视图文件(cshtml)中,添加css和js文件的引用。如下所示代码:
@section styles { <link href="~/umeditor/themes/default/css/umeditor.css" rel="stylesheet" /> } <br /> <br /> <br /> <div id="content" class="w900 border-style1 bg"> <script type="text/plain" id="myEditor" style="width:80%; height:160px"> </script> </div> @section scripts { <script src="~/umeditor/umeditor.config.js"></script> <script src="~/umeditor/umeditor.js"></script> <script src="~/umeditor/lang/zh-cn/zh-cn.js"></script> <script type="text/javascript"> //实例化编辑器 var um = UM.getEditor(‘myEditor‘); </script> }
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }
4,基于“上传文件”中叙述的方式,实现一个上传图片的Controller。整个上传图片的处理逻辑我是基于UMEditor给的后台代码进行修改的。我已经把我的代码分享到GitHub中,“阅读原文”可以访问。是其中的“UMEditorUploadController.cs”和“Uploader.cs”两个文件。
5,最后一步就是修改“umeditor.config.js”文件中的配置,让其正确使用上面的Controller。具体的修改地方如下:
,imageUrl: URL + "../UMEditorUpload/Image" //图片上传提交地址 ,imagePath:URL + "../" //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } 上面的第一个配置项是指上传文件要调用的地址,即是UMEditorUploadController中的Image方法的地址。第二个配置项是修改上传文件后保存的相对目录。当然你也可以根据自身的情况调整配置。
原文地址:https://github.com/heavenwing/redmoon