关于editor网页编辑器ueditor.config.js 配置图片上传

最近公司项目在做一个门户网站,其中新闻和简介等部分使用到了ueditor编辑器,但是上级明确指示需要图片上传这个功能,这时却发现图片上传功能不能正常使用,上传时一直报错,网上收了好几个处理办法,都说的不够详细明了,突然发现ueditor这么强大的工具在开发过程中的致命盲点,很纠结,最终经过很久的纠结和苦思冥想终于解决了该问题,以下是关于ueditor 在web 2.0版本下的问题解决思路和方法,因为经过测试 网上下载的ueditor编辑器在4.0下 问题不大。好了言归正传,首先亮出ueditor在我的项目的结构位置:

,这里先说明一下 标示的这些地方的作用,红框标示的是Ueditor整个文件的位置,红线标示的 是 配置过程中将会用到的各部分,接下来会一一讲解。接下来在亮出原始版本ueditor结构位置:

原始版本ueditor是不能正常上传图片的,之所以晒出这两张图片是为了更好的进行对比 找出 问题所在,便于分析 你的问题出在哪里。首先问题可以很明确的是程序编译没有通过,你按F6进行编译他提示生成成功,其实不然,接下来我们就来分析哪些地方造成的编译没有通过

我们先从上面带星号这个类开始讲:请看以下图片:,如果不出意外,你正在有这样的疑问,这个错误是怎么产生的,因为我那时就纠结了很久,如果你细心的话你会发现第一张图片中该文件已经改名为UploaderFile,这是当时最先想到的解决办法,以为改个名字就能解决 该报错原因,结果我错了,(当然改了名字也不影响),那么问题出在哪里呢?其实问题出在头部引用红线位置就是问题所在,2.0是不支持Linq的 所以 这句要删掉,同时引用Linq的还有Config.cs 然后就是上面两句话,可以看出下面一句话已经在报错了,这句话为何报错?因为看程序结构你可以看出Config.cs类和Uploader.cs类本来就在同一个项目中,这里在处理程序中再次引用就相当于原本就编译了,再编译一次,所以提示同时存在于.....两个地方,而为何4.0不报错,我想应该是4.0在升级后处理了这个逻辑吧!这三句话都必须删掉

接下来我把imageUp.ashx的代码贴出来,只要你是ueditor1_3_5-utf8-net这个版本 就没有问题。

 1 <%@ WebHandler Language="C#" Class="imageUp" %>
 2 using System;
 3 using System.Web;
 4 using System.IO;
 5 using System.Collections;
 6 
 7 public class imageUp : IHttpHandler
 8 {
 9     public void ProcessRequest(HttpContext context)
10     {
11         context.Response.ContentType = "text/plain";
12 
13         //上传配置
14         int size = 2;           //文件大小限制,单位MB                             //文件大小限制,单位MB
15         string[] filetype = { ".gif", ".png", ".jpg", ".jpeg", ".bmp" };         //文件允许格式
16 
17 
18         //上传图片
19         Hashtable info = new Hashtable();
20         Uploader up = new Uploader();
21         
22         string pathbase = null;
23         int path=Convert.ToInt32( up.getOtherInfo(context, "dir"));
24         if (path == 1)
25         {
26             pathbase = "upload/";                  
27             
28         }else{
29             pathbase = "upload1/";
30         }
31         
32         info = up.upFile(context, pathbase, filetype, size);                   //获取上传状态
33         
34         string title = up.getOtherInfo(context, "pictitle");                   //获取图片描述
35         string oriName = up.getOtherInfo(context, "fileName");                //获取原始文件名
36 
37 
38         HttpContext.Current.Response.Write("{'url':'" + info["url"] + "','title':'" + title + "','original':'" + oriName + "','state':'" + info["state"] + "'}");  //向浏览器返回数据json数据
39     }
40 
41     public bool IsReusable
42     {
43         get
44         {
45             return false;
46         }
47     }
48 
49 }

 ,接下来在看web.config文件,原始的文件时这样的:,其实这个文件 在整个问题中没有太大影响(也就是说不会影响图片上传),但是为何又要单独讲一下呢?因为在下这个亏吃的有点大,该文件中targetFramework="4.0"这句话 误导了我,以至于我一直以为必须要这句话才能在让该插件正常运行,也就是说,我这里是2.0的 就要把4.0改成2.0 ,网上还有人说把requestValidationMode这部分删除就行了,等等 到最后我才知道,所有报错的地方 都只是2.0配置文件不支持的原因,直接删除即可,当然不删也不影响,我这里是删除了的,因为我是一个 完美主义者,不喜欢看到有报错O(∩_∩)O哈哈~。

好了,进入正题,以上只是解决编译不通过的问题,其实最为重要的是以下部分ueditor.config.js 这个文件 才是核心啊,现在想想 我被坑了,而且还坑的不浅 我擦!!!

先来看看 原始的 文件在来看看 我配置好的文件:来讲讲红色框的问题,先看原始的图片的最上部分框和我配置好的第一张图片的框,观察window.UEDITOR_HOME_URL = "/ManagePage/ueditor"  这部分,原始版本没有配置,我这里添了的,他的作用是确定ueditor这个插件在你的项目中的位置,没有这句话会报很多错,错误的中心都是找不到某某文件,现在想想,这句话才是核心啊,

在来看看原始图片的第二个框:这部分就是配置图片上传的地方,注意看  原始版本有些地方被注解了,这些注解会影响图片上传弹出框的效果:,这就是被注解的效果,你只用将这部分的注解都去掉就行了,在看看原始图片的第三个框:其实没有作用,这部分可以根据你的需求 选择是否注解,这里不影响图片上传,

好了,到此为止 如果你还报以下错误:,那么你就可以在imageUp设置断点监视以下,简单的说一下这个错的原因,500 Internal.....错误,通常我们会联想到 编译错误,刚开始的时候我也想到了这个原因,只是不知道如何处理,后来,我们 头 直接把error 后面那部分复制到浏览器的地址中,执行如图: 根据返回来的 这些字符 我们就能推断 错误中下面那部分的 原因了,是因为上传成功后url 、title等都为空造成的,解决办法是:在imageUp 设置断点监视以下:我的结果是:根据图中红色框部分,我们可以推测:传递过来的参数是upload1 字符串,这里他进行 Convert.toInt32 当然会报错,就造成了 上面上传报错的情况,解决办法是:直接把上传过来的参数作为存储的地址即可。至此  大功告成了。

如果 你的图片上传还出问题 就在百度中收索:ueditor1_3_5-utf8-net .netFramwork 2.0版本 在csdn中 我上传了 2.0 和 4.0 两个版本。4.0的 就收ueditor1_3_5-utf8-net .netFramwork 4.0版本   里面有完整配置。

 

转载于:https://www.cnblogs.com/Lixinhua-GoOn/p/3631228.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460481.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[歪谈]拽一个贵人出来给你当炮架子

[歪谈]拽一个贵人出来给你"当炮架子" 我们在古装神话剧中经常会听到某个“先知”对前来算命的人说&#xff1a;你会在某某时刻遇到你的贵人。而这个贵人会在事业上助你一臂之力。 这里有个问题&#xff1a;贵人到底是什么&#xff1f;我们怎样去寻找我们的贵人。 前几…

第6季1:H264编码原理与基本概念

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考博客 &#xff08;1&#xff09;H264 编码基本原理_ByteSaid的博客-CSDN博客_h264编码原理 &#xff08;2&#xff09;H264 编码简介_mydear_11000的博客-CSDN博客 &#xff08;3&#xff09;什么是I帧…

pureMVC简单示例及其原理讲解四(Controller层)

本节将讲述pureMVC示例中的Controller层。 Controller层有以下文件组成&#xff1a; AddUserCommand.asDeleteUserCommand.asModelPrepCommand.asViewPrepCommand.asStartupCommand.asAddUserCommand 。顾名思义&#xff0c;它是添加用户命令。让我们首先看看代码。 Addusercom…

ActiveMQ学习笔记(2)——JMS消息模型

2019独角兽企业重金招聘Python工程师标准>>> 1.1 JMS模型简介 JMS支持两种消息通信模型&#xff1a; 点对点模型(Point to Point&#xff0c;P2P)发布者/订阅者模型&#xff08;publish/subscribe&#xff0c; pub/sub&#xff09;P2P模型中&#xff0c;Sender把一…

C# 图片盖章功能实现,支持拖拽-旋转-放缩-保存

实现图片盖章功能&#xff0c;在图片上点击&#xff0c;增加“图章”小图片&#xff0c;可以拖拽“图章”到任意位置&#xff0c;也可以点击图章右下角园框&#xff0c;令图片跟着鼠标旋转和放缩。 操作方法&#xff1a;1.点击增加“图章”2.选中移动图标3.点中右下角放缩旋转图…

【一周一算法】算法2:邻居好说话——冒泡排序

【啊哈&#xff01;算法】    简化版的桶排序不仅仅有上一节所遗留的问题&#xff0c;更要命的是&#xff1a;它非常浪费空间&#xff01;例如需要排序数的范围是0~2100000000之间&#xff0c;那你则需要申请2100000001个变量&#xff0c;也就是说要写成int a[2100000001]。…

用TextPaint来绘制文字

TextPaint是paint的子类&#xff0c;用它可以很方便的进行文字的绘制&#xff0c;一般情况下遇到绘制文字的需求时&#xff0c;我们一般用TextPaint所提供的方法。开始学习如何绘制文字之前&#xff0c;我们必须要先了解下android中文字是怎么绘制到屏幕上的&#xff0c;文字的…

存储过程——介绍(一)

由于工作缘故&#xff0c;在工作中用到储存过程较少&#xff0c;在下班之余出于对学习的热情&#xff0c;以下分享下学习储存过程心得&#xff0c;往大牛们指点迷津&#xff1a; 储存过程&#xff1a;官方解释为可以将一些预先编译的sql语句集中起来有sql service数据库服务器来…

第二季5:配置视频捕获模块(step3:VI模块)

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 前言 本文将详细介绍博文第二季3&#xff1a;sample_venc.c的整体分析提及的“配置视频捕获模块”。 分析方法上&#xff0c;我们首先介绍VI模块相关的宽动态、设备、通道等概念&#xff0c;然后…

简化Java中的异常处理

为什么80%的码农都做不了架构师&#xff1f;>>> #1. 不需要Checked异常 Java中的Checked异常&#xff0c;可以说有弊无利&#xff0c;它除了能带来一系列的麻烦&#xff0c;能干的事情Unchecked异常都能干。 ##1.1. 代码污染 首先&#xff0c;当一个方法声明抛出一…

Linux常用命令之wget

wget&#xff1a;从网络上下载文件到当前目录。 转载于:https://www.cnblogs.com/nufangrensheng/p/3646055.html

Serv-U搭建FTP服务器

1、打开软件&#xff0c;勾选start automatically 2、点击domain&#xff0c;新建domain 3、依次输入IP、端口号、域名、域名类型 完成后的样子 4、右键单击Users&#xff0c;新建用户。依次输入用户名、Home目录、用户密码。 如果需要创建匿名账户&#xff0c;则用户名用Anony…

第二季7:创建配置编码通道(step5:VENC部分)

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 前言 本文将详细介绍博文第二季3&#xff1a;sample_venc.c的整体分析提及的“创建配置编码通道”。 我们首先介绍VENC模块相关的概念&#xff0c;然后绘制该模块的函数调用关系图谱&#xff0c;…

hdu 1176 馅饼

略微简单的动态规划 只是简单贴代码就好了。 #include <stdio.h> #include <string.h>int dp[100007][11]; int ans[100007][11]; int n,N;inline int Max(int x,int c){return x>c?x:c; } int v[16]; void DP() {int i,j;memset(v,0,sizeof(v));memset(ans,0,…

iOS开发-Get请求,Post请求,同步请求和异步请求

标题中的Get和Post是请求的两种方式&#xff0c;同步和异步属于实现的方法&#xff0c;Get方式有同步和异步两种方法&#xff0c;Post同理也有两种。稍微有点Web知识的&#xff0c;对Get和Post应该不会陌生&#xff0c;常说的请求处理响应&#xff0c;基本上请求的是都是这两个…

新浪微博之XSS蠕虫脚本源码讲解

主要是因为新浪的广场页面有几个链接对输入参数过滤不严导致的反射性XSS。 微博XSS漏洞点 weibo.com/pub/star/g/xyyyd%22%3e%3cscript%20src//www.****.com/images/t.js%3e%3c/script%3e?typeupdate 微博XSS脚本内容(XSS源码)function createXHR(){ return window.XMLHttpRe…

Wireshark下载安装和使用教程

本文转载于Wireshark下载安装和使用教程。 Wireshark&#xff08;前身 Ethereal&#xff09;是一个网络包分析工具。该工具主要是用来捕获网络数据包&#xff0c;并自动解析数据包&#xff0c;为用户显示数据包的详细信息&#xff0c;供用户对数据包进行分析。它可以运行在 Wi…

Cortex-M3 动态加载一(地址无关代码实现)

这篇文章是自己疑惑究竟地址无关性是如何实现&#xff0c;然后查看汇编和CPU指令手册&#xff0c;最后分析解除自己疑惑的&#xff0c;高手不要鄙视&#xff0c;哈哈。 编译C代码时候需要制定--acps/ropi选项&#xff0c;如下例子&#xff1a; 1 void SystemInit(void)2 {3 }4 …

C#使用Log4Net记录日志【转】

第一步&#xff1a;下载Log4Net 下载地址&#xff1a;http://logging.apache.org/log4net/download_log4net.cgi 把下载的 log4net-1.2.11-bin-newkey解压后&#xff0c;如下图所示&#xff1a; 双击bin文件夹 双击net文件夹&#xff0c;选择针对.NET FramerWork的不同版本 找…

Map实现之HashMap(结构及原理)(转)

java.util包中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。List 的具体实现包括 ArrayList 和 Vector&#xff0c;它们是可变大小的列表&#xff0c;比较适合构建、存储和操作任何类型对象元素列表。List 适用于按数值索引访问元素的情形。 Map 则提供…