MVC使用百度开源文本编辑器UEditor实现图文并茂,字数限制,上传图片或涂鸦

原文:MVC使用百度开源文本编辑器UEditor实现图文并茂,字数限制,上传图片或涂鸦

文本编辑器有很多,比如ticymceCKEditor就比较好用,但涉及到图片、文件上传,需要结合CKFinder实现,而且有些功能是收费的,即使有意付费使用,
支付也不方便。好在百度的开源文本编辑器UEditor现在也发展得不错,本篇就来体验其在MVC中的使用。需要实现如下效果:

1、上传图片
2、上传涂鸦
3、字数限制

4、另一视图页图文显示

首先到这里下载UEditor的.NET版本,我下载的是[1.4.3.NET版本]的UTF-8版。

下载后,在Scripts文件夹下创建UEditor文件夹,把所有下载文档都放到UEditor文件夹中。

我们需要一个Model,用[DataType(DataType.MultilineText)]来指定某字符串类型属性使用TextArea来显示。


using System.ComponentModel.DataAnnotations;

namespace MvcApplication2.Models
{
public class Post
{
[Required(ErrorMessage = "必填")]
[DataType(DataType.MultilineText)]
public string Content { get; set; }
}
}

HomeController中,一个Action用来显示强类型视图,另一个Action,当验证通过显示Result.cshtml部分视图。


using System.Web.Mvc;
using MvcApplication2.Models;

namespace MvcApplication2.Controllers
{
public class HomeController : Controller
{
public ActionResult Create()
{
return View();
}

[HttpPost]
[ValidateInput(false)]
public ActionResult Create(Post post)
{
if (ModelState.IsValid)
{
ViewData["c"] = post.Content;
return PartialView("Result");
}
return View(post);
}

}
}

Result.cshtml部分视图显示图文信息。

@Html.Raw(ViewData["c"].ToString())

Home/Create.cshtml中,让TextArea呈现编辑器,通过addListener()方法为编辑器添加侦听contentChange事件方法,当字数超出限制(这里是100),就让编辑器执行一个回退操作:editor.execCommand("undo")。另外,还通过
Window.UEDITOR_HOME_URL =
"/Scripts/UEditor/"设置了UEditor的根路径,这里的设置最终会赋值给ueditor.config.js中UEDITOR_HOME_URL属性。


@model MvcApplication2.Models.Post

@{
Layout = null;
}

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Create</title>
<link href="~/Scripts/UEditor/themes/default/css/ueditor.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.8.2.js"></script>
<script src="~/Scripts/UEditor/ueditor.config.js"></script>
<script src="~/Scripts/UEditor/ueditor.all.js"></script>
<script type="text/javascript">
$(function() {
Window.UEDITOR_HOME_URL = "/Scripts/UEditor/";
var editor = new baidu.editor.ui.Editor();
editor.render("Content");

editor.addListener("contentChange", function() {
if (editor.getContentLength(true) > 100) {
editor.execCommand("undo");
}
});
});
</script>
</head>
<body>
<div>
@using (Html.BeginForm("Create", "Home", FormMethod.Post, new { id = "addForm" }))
{
@Html.EditorFor(model => model.Content)
<br/>
<input type="submit" value="提交"/>
}
</div>
</body>
</html>

图片的上传路径在config.json中设置。

以上,从imageUrlPrefix和imagePathFormat或scrawlPathFormat设置大致可以看出图片的保存路径是:Scripts/UEditor/net/upload/image/20140607/6353775730679106479709368.jpg,为此,我们需要在Scripts/UEditor/net下创建upload文件夹,再在Scripts/UEditor/net/upload下创建image文件夹。

最后在ueditor.config.js中设置UEditor的全局路径、一般处理程序的路径、字数限制,等等。

MVC使用百度开源文本编辑器UEditor实现图文并茂,字数限制,上传图片或涂鸦,布布扣,bubuko.com

时间: 2024-10-29 03:06:42

MVC使用百度开源文本编辑器UEditor实现图文并茂,字数限制,上传图片或涂鸦的相关文章

Django集成百度富文本编辑器uEditor

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码. 首先从ueEditor官网下载最新版本的包,目前官网上提供了ASP..NET.PHP.JSP版本的,django版本只有一个第三方个人开发的,但看上出配置起来稍微复杂一点. 这里不介绍uEditor的使用方法,也不过多解释uEditor的配置方法,官网上都有详细的文档和API介绍,下载的Demo中也有常用的方法的示例代码,这里主要介绍uEdi

Jfinal整合百度富文本编辑器ueditor

ueditor配置文件ueditor.config.js修改参数serverUrl:(改为要调用的controller) 后台添加该路由指定的controller package com.sandu.mega.admin.ueditor; import com.jfinal.aop.Clear; import com.jfinal.core.Controller; import com.jfinal.kit.Ret; import com.jfinal.upload.UploadFile; im

百度富文本编辑器ueditor添加到pom

<!-- 百度富文本编辑start --> <dependency> <groupId>com.baidu</groupId> <artifactId>ueditor</artifactId> <version>1.1.2</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/webap

百度富文本编辑器ueditor/jsp版的简单使用,可上传图片和附件

~~经过一上午的时间,终于把ueditor编辑器搞出来了,仅做记录 #完成的样子 1,首先在官网下载对应的插件 [附下载地址:http://ueditor.baidu.com/website/download.html]    本人使用的是Java语言 ,框架是ssm+maven 2,解压文件,在自己项目的根目录下新建文件夹 ueditor,把utf8-jsp中文件复制粘贴到ueditor文件夹下 3,新建一个ueditorTest.jsp,把文件夹中index.html中的HTML代码复制粘贴

百度富文本编辑器UEDITOR

前言 配置.net mvc4项目使用ueditor编辑器,在配置过程中遇见了好几个问题,以此来记录解决办法.编辑器可以到http://ueditor.baidu.com/website/download.html#ueditor处下载.net 的开发包,如下图,我下载的是1.2.6.1net版本的开发包. 配置: 1.将开发包放到mvc4项目中,在我的项目中我放到了Content目录下 2.在模板页中引入js和样式文件: 3.在页面中配置初始化编辑器,在页面中配置textarea显示为编辑器,编

使用百度富文本编辑器UEditor碰到的问题

前面使用的是kindEditor,但是发现这个已经不再维护,并且bug不少,而我又不会改,哈哈,所以我就放弃了. 原来想过要用百度的这个UEditor,但是在配置的时候遇到了很多问题,基本上加载不出来,但是最后还是硬着头皮把那些bug都解决了,顺利跑通. 问题1:按百度Demo的配置我发现连最基本的编辑器都不出来. 原因:下面的配置的顺序不能错,顺序错了可能会导致加载不出来的情况. <!-- 配置文件 --> <script type="text/javascript"

百度富文本编辑器ueditor使用总结

最近做的项目用到了ueditor这个东东,但是他的一些配置文档对初次使用者来说很难以理解,故作此总结 1.ueditor 官方地址:http://ueditor.baidu.com/website/index.html 开发文档地址:http://ueditor.baidu.com/website/document.html 下载地址:http://ueditor.baidu.com/website/download.html (这里可选开发版,或MINI版) 2. 从官网上下载完整源码包,解压

解决百度富文本编辑器 UEditor 插入视频后没有路径的问题

在 Update ueditor.config.js 文件中,xssFilter导致插入视频异常,编辑器在切换源码的过程中过滤掉img的_url属性(用来存储视频url)_src/plugins/video.js里处理的是_url,而不是_src. 修改ueditor.config.js: img:    ['src', 'alt', 'title', 'width', 'height', 'id', '_src', '_url', 'loadingclass', 'class', 'data-

百度富文本编辑器UEditor自定义上传图片接口

如下图:  然后修改ueditor.all.js