百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明
======================================================================
【百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明】
----by 夏春涛 2014-02-20
======================================================================
运行环境:
ueditor-v1.3.6-utf8-net,VS2010旗舰版+SP1,ASP.NET MVC3。
将下载后的ueditor压缩包的所有文件拷贝到/Content/ueditor目录中。
1.WEB视图页面中如下配置,运行时应能看到完整的富文本编辑器界面:
<!-- ******************************************************************** -->
<link rel="stylesheet" href="@Url.Content("~/Content/ueditor/themes/default/css/ueditor.min.css")" type="text/css" />
<script src="@Url.Content("~/Content/ueditor/ueditor.config.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Content/ueditor/ueditor.all.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Content/ueditor/lang/zh-cn/zh-cn.js")" type="text/javascript"></script>
<!-- ******************************************************************* -->
..
@Html.TextAreaFor(p => p.Content)
..
<script type="text/javascript">
UE.getEditor("Content");//初始化富文本编辑器
</script>
2.修改ueditor.config.js内容,在函数第一行增加ueditor目录路径配置,该路径是相对于网站根目录的,
如是http://www.xxx.com/Content/ueditor/ 则为 /Content/ueditor/。
配置好后插入图片等操作的对话框显示样式会变得正常。
window.UEDITOR_HOME_URL = "/Content/ueditor/";
3.根据需要修改ueditor.config.js内容,以下列举了一些常用项:
, initialFrameWidth: 760 //编辑器宽度
, initialFrameHeight: 400 //编辑器高度
, wordCount: false //编辑器下方显示控制:不让编辑器统计字数
, elementPathEnabled: false //编辑器下方显示控制:不显示元素路径
, autoHeightEnabled: false //不让编辑自动长高(这样,当内容较多时会出现上下滚动条,而不至于把网页撑大)
4.解决“检测到有潜在危险的 Request.Form 值”的问题。
错误提示:
从客户端(Content="<p><span style="colo...")中检测到有潜在危险的 Request.Form 值。
原因说明:
因为富文本编辑器产生的内容中会包含<>"等特殊字符,服务器默认进行内容安全检测并阻止代码运行。
解决办法:
为Action添加属性:[ValidateInput(false)],示例:
[HttpPost]
[ValidateInput(false)] //不进行内容检测
public ActionResult NewsEdit(News newsModel)
{
//...
}
5.★解决文件不能上传的问题。
错误提示:
Url: http://localhost:11685/Content/ueditor/net/fileUp.ashx
Description: e:\我们的项目\BetterMIS\project\BetterMIS.WebViews\Content\ueditor\net\fileUp.ashx(34): error CS0433:
类型“Uploader”同时存在于“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\98d019ee\65f02c2e\App_Web_uploader.cs.d026ad6.qqgskfar.dll”
和“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\98d019ee\65f02c2e\assembly\dl3\a6a5387f\ee12af20_0d2ecf01\BetterMIS.WebViews.DLL”中。
解决办法:
ueditor的net文件夹下的Uploader.cs文件的生成操作属性默认是“编译”,只需要将这个文件的生成操作属性改为“内容”,
上传图片的功能就可以正常成功使用了![源自:http://www.cnblogs.com/beyond1983/archive/2013/02/26/2933744.html]
原因剖析:
因为Ueditor的示例是针对Asp.net网站(不是MVC),不需要编译成DLL,直接把示例放到IIS下就可以使用啦。
6.★解决上传图片时总提示“选择保存目录:正在读取目录...”的问题。
问题现象补充:如果选择本地图片后,点击“开始上传”总是提示“请等待保存目录就绪”。
错误提示:
Url: http://localhost:11685/Content/ueditor/net/imageUp.ashx?fetch=1
Description: e:\我们的项目\BetterMIS\project\BetterMIS.WebViews\Content\ueditor\net\imageUp.ashx(18): error CS0433:
类型“Config”同时存在于“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\98d019ee\65f02c2e\App_Web_config.cs.d026ad6.storkrj4.dll”
和“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\98d019ee\65f02c2e\assembly\dl3\a6a5387f\02a91fba_162ecf01\BetterMIS.WebViews.DLL”中。
解决办法(原因同上):
ueditor的net文件夹下的Config.cs文件的生成操作属性默认是“编译”,只需要将这个文件的生成操作属性改为“内容”。
7.★解决无法正常显示刚刚上传的图片的问题。
问题现象:
成功上传一张图片,插入到编辑器中,但是无法正确显示刚刚上传的图片。
原因剖析:
查看html源码可以发现图片路径中,upload1后面有2个/,手动删除一个后,返回查看,图片可以正常显示了。
解决办法1:
在imageUp.ashx文件中找到代码:
info = up.upFile(context, path + '/', filetype, size);
把把+'/'给删除掉,即:
info = up.upFile(context, path, filetype, size);
解决办法2:
在Uploader.cs文件中找到代码(在upFile函数中):
pathbase = pathbase + "/";
修改为:
pathbase = pathbase.TrimEnd('/') + "/";
这样,可以彻底解决类似问题,因为ueditor的上传功能都是调用Uploader类实现的。
8.修改上传文件的路径:
(1)图片上传路径。修改Config.cs文件:
将
public static string[] ImageSavePath = new string[] { "upload1", "upload2", "upload3" };//即ueditor/net/upload1等目录
改为:
public static string[] ImageSavePath = new string[] { "upload/image" };//即图片上传到ueditor/net/upload/image目录中
另,对于【图片搜索】中的图片保存路径。修改getRemoteImage.ashx文件:
将
string savePath = "upload/";
改为:
string savePath = "upload/image/"; //即图片保存到ueditor/net/upload/image目录中
补充说明:对于【图片搜索】中的图片保存,系统会自动在savePath目录下再以日期为名创建文件夹来保存文件。
(2)附件(及视频文件)上传路径。修改fileUp.ashx文件:
将
String pathbase = "upload/";
改为:
String pathbase = "upload/file";//即附件上传到ueditor/net/upload/file目录中
(3)涂鸦上传路径。修改scrawUp.ashx文件:
一是将
string pathbase = "tmp/";
改为:
string pathbase = "upload/tmp/";
二是将
string pathbase = "upload/";
string tmpPath = "tmp/";
改为:
string pathbase = "upload/scraw/";
string tmpPath = "upload/tmp/";
补充说明:系统会自动在pathbase目录下再以日期为名创建文件夹来保存文件。
9.注意将upload目录的访问权限放开(右键文件夹->属性->安全->编辑,即可设置),允许everyone用户完全控制(当然安全一点应该只允许IIS_WPG账户完全控制即可)。
======================================================================
----by 夏春涛 20140220
======================================================================
百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明的更多相关文章
- 使用百度的富文本编辑器UEditor遇到的问题总结
1.下载地址:http://ueditor.baidu.com/website/download.html(我下载的是.net版本) 下载后要先看一下ueditor.config.js和 net/co ...
- 百度开源富文本编辑器 UEditor配置:图片上传和文件上传独立使用方法
使用UEditor编辑器自带的插件实现图片上传和文件上传功能,这里通过配置UEditor单独使用其内置的第三方插件swfupload来实现图片和文件的上传,通过对UEditor配置轻松实现图片批量上传 ...
- 百度的富文本编辑器UEditor批量添加图片自动加上宽度和高度的属性
若是没有对编辑器做任何配置直接添加图片的话,显示的html内容如下图所示:它会显示出原图片尺寸 所以必须要对图片的初始显示尺寸做控制:ueditor文件中找到image.js文件 在image.js中 ...
- 百度的富文本编辑器UEDITOR
还是百度的ueditor 比较好用,文件导入后,基本不用配置就可以直接使用图片,文件上传等功能. CKeditor要注意的地方太多了 .但是相对ckeditor 样式比较好看.
- 百度富文本编辑器ueditor使用总结
最近做的项目用到了ueditor这个东东,但是他的一些配置文档对初次使用者来说很难以理解,故作此总结 相关详细操作链接地址: http://blog.csdn.net/wusuopubupt/arti ...
- springboot+layui 整合百度富文本编辑器ueditor入门使用教程(踩过的坑)
springboot+layui 整合百度富文本编辑器ueditor入门使用教程(踩过的坑) 写在前面: 富文本编辑器,Multi-function Text Editor, 简称 MTE, 是一 ...
- 百度富文本编辑器UEditor安装配置全过程
网站开发时富文本编辑器是必不可少的,他可以让用户自行编辑内容的样式然后上传到后台!下面我们来介绍如何安装使用百度富文本编辑器 一.下载并且设置百度富文本编辑器的样式 你可以去百度UEditor ...
- 百度富文本编辑器ueditor使用启示
百度富文本编辑器ueditor使用启示 一.总结 一句话总结:使用工具,多去看官方demo,非常详细. 二.百度富文本编辑器ueditor使用启示 官方完整demo 官方完整demo对应的源代码 &l ...
- thinkphp5.1中适配百度富文本编辑器ueditor
百度富文本编辑器ueditor虽然很老,但是功能齐全,我近期需要能批量粘贴图片的功能,但是找不到,很无奈.然后现在就分享一下如何把ueditor适配到thinkphp5.1,有知道如何批量上传图片的艾 ...
随机推荐
- Virtualbox修改bios信息安装Windows XP OEM
转载 http://hi.baidu.com/guoyao11/item/631ad6eb4fb3d93887d9de11 具体方法有两个: 1.把下面的代码复制改后缀为BAT文件直接运行即可,以Le ...
- 第五天:内置对象(7.Javascript内置对象)
1)中所术是内置对象,2)中为自定义对象 代码说明如下 2.1.1 定义并创建对象实例方式1,代码如下: <!DOCTYPE html><html lang="en&quo ...
- 轻易实现基于linux或win运行的聊天服务端程序
对于不了解网络编程的开发人员来说,编写一个良好的服务端通讯程序是一件比较麻烦的事情.然而通过EC这个免费组件你可以非常简单地构建一个基于linux或win部署运行的网络服务程序.这种便利性完全得益于m ...
- C++11 并发指南六( <atomic> 类型详解二 std::atomic )
C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍) 一文介绍了 C++11 中最简单的原子类型 std::atomic_flag,但是 std::atomic_flag ...
- 【转】Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案
前言 刚开始创建MVC与Web API的混合项目时,碰到好多问题,今天拿出来跟大家一起分享下.有朋友私信我问项目的分层及文件夹结构在我的第一篇博客中没说清楚,那么接下来我就准备从这些文件怎么分文件夹说 ...
- 安装 Dubbo 管理控制台
Dubbo管控台可以对注册到 zookeeper 注册中心的服务或服务消费者进行管理,但管控台是否正常对Dubbo服务没有影响,管控台也不需要高可用,因此可以单节点部署. IP: 192.168.1. ...
- Spring 依赖注入控制反转实现,及编码解析(自制容器)
定义: 在运行期,由外部容器动态的将依赖对象动态地注入到组件中. 两种方式: 手工装配 -set方式 -构造器 -注解方式 自动装配(不推荐) 1利用构造器 2set方法注入 dao: package ...
- CentOS下搭建NFS服务器总结
环境介绍: . 服务器: 192.168.0.100 . 客户机: 192.168.0.101 安装软件包: . 服务器和客户机都要安装nfs 和 rpcbind 软件包: yum -y instal ...
- MySQL:InnoDB存储引擎的B+树索引算法
很早之前,就从学校的图书馆借了MySQL技术内幕,InnoDB存储引擎这本书,但一直草草阅读,做的笔记也有些凌乱,趁着现在大四了,课程稍微少了一点,整理一下笔记,按照专题写一些,加深一下印象,不枉读了 ...
- 虚拟机锁定文件失败,开启模块snapshot失败解决办法
今天由于没有正常关闭虚拟机,导致出现打开虚拟机提示:锁定文件失败 虚拟机开启模块snapshot失败,后来从网上找打了资料解决了.解决办法:一:打开你存放虚拟机系统文件的文件夹,注意,是系统文件,不是 ...