设为首页 收藏本站
查看: 1739|回复: 0

Ueditor自定义ftp上传

[复制链接]

尚未签到

发表于 2015-5-26 12:22:19 | 显示全部楼层 |阅读模式
  web开发免不了需要富文本编辑,富文本编辑器接触过不少,ckeditor,kingeditor,选择Ueditor主要原因还是他是Mit协议的(赞一个)。
  闲话少说,实现Ueditor的上传ftp功能其实是对Uedito文件上传的重定向。Ueditor有服务器本地村春功能,不过对于大多数网站来说让用户直接存文件图片到有限的服务器空间是很危险的,我这边选择FTP存储的方式。
  首先下一个ueditor的分发,官网http://ueditor.baidu.com/website/download.html;我选择我需要的.net utf8版本。文件目录大概是这样的。 DSC0000.png
  不像ckeditor,ueditor没有更多的语言包和example。这些东西放在合适的目录,这边放在站点路径下。
  创建页面引用必要的js和css,这边官方号称css可以不用显示引用,但是实践发现报错了所以我还是引用上了。



@section Css
{

}
@section Scripts
{



}
  添加一个富文本在页面上




载入你的初始数据


$(function() {
var editor = new UE.ui.Editor();
textarea: 'content'; //与textarea的name值保持一致  
editor.render('content');
})

  如果调试一下就可以看到 DSC0001.png
  工具栏按照需要可以选择,参照官方。
  打开ueditor.config.js这里面找到image上传url,定位到文件就改它了fileUp.ashx,或者修改url到你的服务器处理url。简单修改下,模拟其返回的json,



public void ProcessRequest(HttpContext context)
{
if (!String.IsNullOrEmpty(context.Request.QueryString["fetch"]))
{
context.Response.AddHeader("Content-Type", "text/javascript;charset=utf-8");
context.Response.Write(String.Format("updateSavePath([{0}]);", String.Join(", ", Config.ImageSavePath.Select(x => "\"" + x + "\""))));
return;
}
context.Response.ContentType = "text/plain";
var state = "";
var URL = "";
var title = "";
var original = "";
try
{
var pic = context.Request.Files[0];
var ftp = new FtpSerivce();
var bytes = new byte[pic.ContentLength];
pic.InputStream.Read(bytes, 0, pic.ContentLength);
ftp.Create(bytes, pic.FileName);
URL = "localhsot:21/" + pic.FileName;
state = "Success";
title = pic.FileName;
original = pic.FileName;
}
catch (ArgumentException exception)
{
//
            title = "Error";
original = exception.Message;
state = "\u4e0d\u5141\u8bb8\u7684\u6587\u4ef6\u7c7b\u578b";
}
catch (Exception e)
{
state = "\u672a\u77e5\u9519\u8bef";
URL = "";
}
finally
{
HttpContext.Current.Response.Write("{'url':'" +URL + "','title':'" + title + "','original':'" + original + "','state':'"+state+"'}");  //向浏览器返回数据json数据
        }
}
  这样ftp上传的功能就完成了,最后在修改下目录读取的方法imagemanager.ashx,把读取的目录修改为ftp目录,注意下分隔符和’/’



public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string action = context.Server.HtmlEncode(context.Request["action"]);
if (action == "get")
{
String str = String.Empty;
//Ftp遍历
var ftp = new FtpSerivce();
var list = ftp.TraverseFilename();
var root = "http://localhost:80/ftp";
str = list.Aggregate(str, (current, filename) => current + (root + "/" + filename + "ue_separate_ue"));
context.Response.Write(str);
}
}
  。另外修改下ueditor.config.js文件的管理图片修正地址。
  最后调试下,我这边使用filezillar和apache作为单机测试的环境。至此完成目标对Ueditor图片ftp上传的修正。
  
  Example地址:http://files.iyunv.com/LoveZhouRR/ExampleForUeditor.rar

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-70891-1-1.html 上篇帖子: VS2005 Beta2 TS (FTP)下载完毕,体验中...... 下篇帖子: C# FTP类,以前优化过一次,增加了对编码的识别,今天新增了主被动模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表