在ASP.NETCore中使用百度在线编辑器UEditorWebEnh

最近需要一个在线编辑器,之前听人说过百度的UEditor不错,去官网下了一个。不过服务端只有ASP.NET版的,如果是为了能尽快使用,只要把ASP.NET版的服务端作为应用部署在IIS上就可以立即使用了。不过我的需求并不急,所以把ASP.NET移植到了ASP.NETCore上。整个过程很简单,只是重新引用了一些包,修改了几处代码,另外就是把Controller中比较长的一个switch语句块重构为了字典,根据url中的action参数从字典中找出并调用相应的Action处理,这样的好处就是如果要扩展action支持的操作无需修改源代码,只要扩展字典就可以,对扩展开放,对修改关闭。最后把服务端功能打成了nuget包UEditorNetCore,方便使用。这篇博客主要就介绍下如何使用UEditorNetCore快速实现UEditor服务端,也可以直接使用源代码中的示例,希望对有这方面需求的园友有所帮助。

当接收到action后,UEditorService会从UEditorActionCollection中找到这个action对应的方法并调用,同时传入HttpContext参数。这些方法调用基层的服务XxxxHandler完成功能,并把返回内容通过HttpContext.Response.WriteAsync()方法写入。如果要扩展对action的支持,可以扩展UEditorActionCollection,具体方法后面有介绍。

Install-PackageUEditorNetCore2.在Startup.cs的ConfigureServices方法中添加UEditorNetCore服务publicvoidConfigureServices(IServiceCollectionservices){//第一个参数为配置文件路径,默认为项目目录下config.json//第二个参数为是否缓存配置文件,默认falseservices.AddUEditorService()services.AddMvc();}3.添加Controller用于处理来自UEditor的请求[Route("api/[controller]")]//配置路由publicclassUEditorController:Controller{privateUEditorServiceue;publicUEditorController(UEditorServiceue){this.ue=ue;}publicvoidDo(){ue.DoAction(HttpContext);}}4.修改前端配置文件ueditor.config.jsserverUrl需要参照第3步Controller中配置的路由,按照上面步骤3中的配置,需要以下配置:

serverUrl:"/api/UEditor"这样配置后当前端要获取服务端UEditor配置时就会访问/api/UEditoraction=config。

上传类的操作需要配置相应的PathFormat和Prefix。示例部署在web根目录,因此Prefix都设置为"/"。使用时要根据具体情况配置。例如示例中图片上传的配置如下:

"imageUrlPrefix":"/",/*图片访问路径前缀*/"imagePathFormat":"upload/image/{yyyy}{mm}{dd}/{time}{rand:6}",关于PathFormat的详细配置可参照官方文档。

0x03扩展actionUEditor前端和后端交互主要通过在url中给出不同的action参数实现的,例如/api/UEditoraction=config会从服务端获取UEditor配置信息。UEditorNetCore目前支持的有8种action:

config获取服务端配置信息uploadimage上传图片uploadscrawl上传涂鸦uploadvideo上传视频uploadfile上传文件listimage多图片上传listfile多文件上传catchimage抓取图片

如果以上action无法满足需求,可以方便的增加、覆盖、移除action。

publicvoidConfigureServices(IServiceCollectionservices){services.AddUEditorService().Add("test",context=>{context.Response.WriteAsync("fromtestaction");}).Add("test2",context=>{context.Response.WriteAsync("fromtest2action");});services.AddMvc();}以上代码增加了名字为test和test2两个action,作为示例仅仅返回了字符串。当访问/api/UEditoraction=test时会返回"fromtestaction"。在扩展action时可以使用Config获取服务端配置,也可以使用已有的Handlers,具体可以参考源代码。

上面的Add方法除了添加新action外还可以覆盖现有action。当现有的action可能不符合你的要求,可以Add一个同名的action覆盖现有的。

如果要移除某个action,可以使用Remove方法。

publicvoidConfigureServices(IServiceCollectionservices){services.AddUEditorService().Remove("uploadvideo");services.AddMvc();}以上代码中的Remove("uploadvideo")方法移除了名为uploadvideo的action。

THE END
1.百度网站官网网址百度网页入口作为中国最大的中文网络服务公司,百度网页版以其丰富的功能特色、便捷的操作体验和跨平台的兼容性,赢得了广大用户的青睐。下面,小编就来为大家介绍百度网站官网网址,百度网页入口。 百度网页入口: 网址链接:www.baidu.com 百度网页版,简而言之,就是通过浏览器访问的百度在线服务平台。它无需用户在本地设备上https://app.3dmgame.com/gl/526159.html
2.网易网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。https://www.163.com/
3.下载百度极速版厨房装修洗菜盆一定要装台下盆,减去大理石台面挡板,您装对了没有 #台下盆 #厨房大理石台面 #台中盆 #台上盆 #厨房装修 #装修现场实拍 #河北王哥在临夏 英语何老师的日常 下载百度极速版 版本:6.38.0.10 更新时间:20241113 开发者:百度在线网络技术(北京)有限公司 隐私政策 https://activity.baidu.com/mbox/4a81a89b62/defaultNewsPage_1?appname=baiduboxlite&vid=10731562465936956651&channel=bd-sem&channel_id=1021077d&invoke_id=1020204t&query=%E5%8F%B0%E4%B8%8A%E7%9B%86%E6%94%B9%E5%8F%B0%E4%B8%AD%E7%9B%86%E8%A7%86%E9%A2%91
4.在线翻译翻译在线英语翻译英文翻译日语翻译fanyi爱词霸英语翻译器为广大英文学习爱好者提供即时的在线翻译、在线词典、英文写作校对、汉译英、英译汉、图片、文档翻译、汉语查词等服务,金山词霸在线查词翻译频道致力于提供优质的在线翻译、查词服务http://fy.iciba.com/
5.php使用百度翻译api示例分享(百度在线翻译api)百度翻译API的PHP代码,测试可以实现,不过英译中可能需要转换编码。复制代码 代码如下: 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处https://www.eolink.com/news/post/1508.html
6.百度短网址百度短网址服务(dwz.cn)专业的网址缩短服务,具有稳定、快速、安全的特点,支持批量缩短、批量短网址还原、数据报表、开放API接口等服务https://dwz.cn/
7.文小言官网,网页版在线,app下载,9月免费使用文心4.0大模型,原百度文小言官网,网页版在线,app下载,9月免费使用文心4.0大模型,原百度文心一言 简介 百度给我们带来了一个激动人心的消息:他们旗下的文心一言App已经全面升级,并更名为文小言。这次升级,文小言不仅仅是一个改名,更是百度在智能搜索领域的一次大胆尝试,旨在为用户提供一个全新的搜索体验。 https://biemoyu.com/sites/wenxiaoyan.html
8.360AI云盘官网360AI云盘是智能高效办公云盘。可以安全存储个人数据、实现多端同步、自动备份、在线编辑文档进行高效办公,可跨平台使用,支持PC电脑、Android手机、iPhone手机数据备份、同步,随时随地移动办公。https://www.yunpan.com/
9.美图秀秀免费在线P图抠图拼图美图秀秀网页版在线图片照片编辑制作美化修改处理工具提供在线拼图,在线改图修图,在线P图,在线美颜,在线ps照片,另外还提供图片美化、人像美容、添加文字、批量处理图片大小、证件照换底色、图片压缩等好用的功能,还有海报设计、平面设计、广告设计、贴纸素材、边框等丰富http://xiuxiu.web.meitu.com/
10.搜狗图片搜索图说新闻 组图:刘雯胶片质感大片曝光 微醺灯光下展现女性优雅自如的力量 6张 图说新闻 组图:章子怡刘嘉玲女神气场足 王俊凯宋亚轩等同场 12张 图说新闻 宋佳梳马尾穿个性花衬衫 单手托腮眼神霸气 13张 图说新闻 组图:师兄弟同框!王俊凯宋亚轩一前一后下飞机梦幻养眼 6张 图说新闻 组图:李现最新时尚大片释出 穿灰蓝色https://pic.sogou.com/
11.PDF转换成Word转换器在线免费在线word转pdf转换器在线客服 我的文件 开通VIP周年庆狂欢 尊享所有功能 文件大小最大200M 视频无水印 VIP专属服务50次 尊享VIP身份 历史记录保存 欢迎使用迅捷PDF转换器 安全保密 文件处理安全保密,隐私有保障 快速准确 高效率云端服务器,快速准确 功能丰富 100+种转换处理功能任性用 https://app.xunjiepdf.com/
12.在线二维码解码器二维码安全检测工具识别最准最快的wwei在线二维码解码器 可以上传微博、QQ、微信二维码图片、电脑摄像头扫描二维码、输入二维码图片地址等方式解析二维码,通过解码内容判断内容真实性再使用手机扫描以防止恶意病毒二维码传播https://jiema.wwei.cn/
13.除了百度翻译以外还有哪个在线翻译器好用?用过文字翻译的人都知道百度翻译,一款在线免费翻译且好用的翻译器,如果只是个别单词不知意思,使用百度翻译完全可以解决翻译需求,但遇到翻译文档时常规的复制文字翻译就显得没有那么方便了,除了百度翻译以外,如果问你还有哪个在线翻译器好用,你知道吗?文字翻译离不开百度翻译,文档翻译离不开福昕翻译! https://www.foxitsoftware.cn/fanyi/jiaocheng/27.html
14.新浪视频高清视频在线观看新浪视频是新浪旗下的专业视频网站,提供最新、最热的新闻、体育、娱乐、话题、搞笑视频,直播热门体育赛事、明星访谈,汇集海量的电影、电视剧、综艺节目、公开课。https://video.sina.com.cn/