关于Ueditor 前后端分离实现文件上传到独立服务器,在网上搜索确实遇到大坑,不过还好遇到了 虚若影 最终实现了,在此感谢!
虚若影的原文博客网址:http://www.cnblogs.com/hpnet/p/6290452.html

具体项目:如下截图

1.在本地IIS 中添加网站 ueditorweb.com 、ueditortest.com 、 testweb (注意应用程序池要选择.net的版本)

2.hosts文件中添加

127.0.0.1  ueditorweb.com  ueditor后台上传处理程序

127.0.0.1  ueditortest.com   ueditor前台使用项目1

127.0.0.1  testweb.com        ueditor前台使用项目2

3.在接下来打开ueditortest.com 和 testweb.com下面的ueditor.config.js, 找到:, serverUrl: URL + "net/controller.ashx"改成:, serverUrl: "http://ueditorweb.com/controller.ashx" 

4.在ueditorweb.com项目下。打开config.json,搜索 Prefix": "/ueditor/net/",  全部改成 UrlPrefix": "http://ueditorweb.com/",  这是图片上传成功后的地址前缀。

5.多图上传、附件、视频等上传的实现设置:(两种方法)

(1)ueditorweb.com项目下配置web.config

    <system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Headers" value="Content-Type,X_Requested_With" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS,TRACE,HEAD" />
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>

(2)在IIS中添加

注意:Access-Control-Allow-Origin:* 表示允许任何域名跨域访问

我这里使用*是因为有多个网站需要用到为了实现单图片上传,如果只有一个网站用到,为了安全最好使用 Access-Control-Allow-Origin:http://ueditortest.com

好了,至此多图上传、附件、视频等,就能实现上传了

6.单图片上传,使用iframe跨域,实现起来比较麻烦

在ueditor前台应用项目中添加result.ashx 代码如下(下面要用到,如果是多个项目,每个项目都添加)

        public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
var result = context.Request["result"];
//当然这里最好判断一下result是否安全,不要接收到内容就显示这样会被人利用。
if (result != null)
context.Response.Write(result.ToString());
//context.Response.Write("Hello World");
} public bool IsReusable
{
get
{
return false;
}
}

打开ueditor.all.js或者ueditor.all.min.js你页面上调用哪个就打开哪个,搜索<input id="edui_input_  在</form>之前加上:

<input type="hidden" name="issimpleupload" value="true" /> 这样上传后我们好通过获取issimpleupload来判断是不是简单文件上传。

ueditor.all.js

ueditor.all.min.js

打开ueditorweb.com项目中App_Code文件夹中Handler.cs,将WriteJson方法修改替换成如下代码

    protected void WriteJson(object response)
{
string jsonpCallback = Request["callback"],
json = JsonConvert.SerializeObject(response);
if (String.IsNullOrWhiteSpace(jsonpCallback))
{
var webupload = Request["webupload"];
var weburl = "ueditortest.com";
if (webupload != null)
{
switch (webupload)
{
case "ueditortest":
weburl = "ueditortest.com";
break;
case "testweb":
weburl = "testweb.com";
break;
}
} var issimple = Request["IsSimpleUpload"];
if (issimple != null && issimple.ToString() == "true")
{
Response.Redirect("http://" + weburl + "/result.ashx?result=" + json); //把json传递到c.com下面去呈现结果。
}
Response.AddHeader("Content-Type", "text/plain");
Response.Write(json);
}
else
{
Response.AddHeader("Content-Type", "application/javascript");
Response.Write(String.Format("{0}({1});", jsonpCallback, json));
}
Response.End();
}

至此,ueditor上传图片、附件、视频、截图、涂鸦等功能都能上传独立的服务器上。

在此还要感谢下 虚若影 感谢 感谢 非常感谢!!!

Ueditor 前后端分离实现文件上传到独立服务器的更多相关文章

  1. 关于Ueditor 前后端分离实现文件上传到独立服务器的问题 望大神们赐教

    最近,由于网站实现多台服务器负载均衡,导致编辑器上传文件需要同步,可是使用同步软件太慢,不太现实,所以想到实现编辑器上传文件直接上传到独立文件服务器.可是没想到遇到坑了. 1.在本地IIS 中添加网站 ...

  2. 仵航说 前后端分离,文件上传下载(springBoot+vue+elementUI)仵老大

    1.介绍 ​ 本文主要是介绍前后端分离的上传下载,后端使用的是SpringBoot,持久层用的是mybatis-plus,前端用的Vue,UI用的elementUI,测试了一下,文本,图片,excel ...

  3. UEditor实现前后端分离时单图上传

    首先,需要下载部署ueditor相关代码,可以参考一篇简单的博客,这里不再赘述: 环境搭建好后,我们先简单使用一下,启动http://web.yucong.com:8080/ueditor/index ...

  4. 前后端分离--ajaxUpload异步上传文件成功,前端获取数据却失败的解决方案

    转载:https://blog.csdn.net/baidu_32809053/article/details/78709951

  5. linux下将文件上传到svn服务器

    linux下将文件上传到svn服务器 摘自:https://blog.csdn.net/sky_yangge/article/details/41544773 2014年11月27日 16:47:57 ...

  6. 将windows下的文件上传到Linux服务器上

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lx_Frolf/article/deta ...

  7. 前后台分离开发--文件上传与下载,cookie,session

    一.前后台分离开发的概念 ''' 1. 前台页面运行在前台服务器上,负责页面的渲染(静态文件的加载)与转跳 2. 后台代码运行在后台服务器上,负责数据的处理(提供数据请求的接口) ''' #如果没有前 ...

  8. JavaWeb 后端 <十四> 文件上传下载

    1.文件上传与下载 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 1.1 文件上传 文件上传,要点: 前台: ...

  9. [Asp.net]通过uploadify将文件上传到B服务器的共享文件夹中

    写在前面 客户有这样的一个需求,针对项目中文档共享的模块,客户提出如果用户上传特别的大,或者时间久了硬盘空间就会吃满,能不能将这些文件上传到其他的服务器?然后就稍微研究了下这方面的东西,上传到网络中的 ...

随机推荐

  1. java:try...catch...finally

    try...catch...finally 规则: 可以没有 finally 块 如果没有 catch 块,则必须跟一个 finally 块 当在 try 块或 catch 块中遇到 return 语 ...

  2. 数组中只出现一次的数字(java实现)

    问题描述 一个整型数组里除了两个数字之外,其他的数字都出现了偶数次.请写程序找出这两个只出现一次的数字. 解题思路 如果数组中只有一个数字出现奇数次,则将数组中所有的数字做异或可得该数字. 数组中有两 ...

  3. ubuntu彻底卸载opencv

    说正事之前,先啰嗦两句背景,算是拿个小本本记下了. 我本打算下载opencv2.4.在github上找到源码,在Branch处选择切换到2.4,然后复制URL,在terminal里面使用git clo ...

  4. 加密与解密md5 3des

    /// <summary> /// MD5加密 /// </summary> /// <param name="s"></param> ...

  5. Android Gradle 依赖方式

    Android Gradle 依赖方式有以下6种: Compile compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中. Provided Prov ...

  6. TCP/IP详解--TCP连接中TIME_WAIT状态过多

    TIMEWAIT状态本身和应用层的客户端或者服务器是没有关系的.仅仅是主动关闭的一方,在使用FIN|ACK|FIN|ACK四分组正常关闭TCP连接的时候会出现这个TIMEWAIT.服务器在处理客户端请 ...

  7. activity--生命周期总结

    22.Android禁止屏幕旋转 & 旋转屏幕时保持Act内容? 21.旋转屏幕Act执行的生命周期方法? 12.ActA与 ActB互相跳转生命周期情况? 11.Act的生命周期? ==== ...

  8. springMVC的高级数据绑定,以及json交互,全局异常配置,

    一.窄化请求映射 1.在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头,通过此方法对url进行分类管理. 如下: @Con ...

  9. Getting started - RN1

    0. down yarn https://yarnpkg.com 1. Expo Cli 此环境用于开发或学习之用. (1)install npm install -g expo-cli (2) us ...

  10. Kafka命令操作

    本文主要介绍Kafka的shell命令: 查看当前服务器所有的topic [hadoop@datanode1 kafka]$ bin/kafka-topics.sh --zookeeper datan ...