在asp.net里自已给CKEditor加上传功能(不用CKFinder) - ASP.NET(webform) - 狼子收集
首页蓝耳朵|小小蓝耳朵广州图书馆外文室英语儿童读物资源介绍网佛教青年之友旧版收集永硕E盘Phonics Short Vowels Game 
在asp.net里自已给CKEditor加上传功能(不用CKFinder)
所属栏目:ASP.NET(webform)  时间:2011-12-02 16:12  作者:狼子

ckfinder不是不好,好好,就是不知道怎么用ftp,没查到资料有讲,所以自已搞,步骤就4个

1.修改ckeditor的配置文件ckeditor/config.js,把上传地址指向自已的页面

//处理上传的文件
    config.filebrowserUploadUrl = '/ckeditor/Update.aspx?command=QuickUpload&type=Files';
    config.filebrowserImageUploadUrl = '/ckeditor/Update.aspx?command=QuickUpload&type=Images';
    config.filebrowserFlashUploadUrl = '/ckeditor/Update.aspx?command=QuickUpload&type=Flash';

2.接收ckeditor里<input type="file">控件传递过来的数据
 在ckeditor/Update.aspx里,使用:Request.Files[0],比如:

Response.Write("<br />" + Request.Files[0].FileName);

这一句可以写出要上传的文件名

3.按自已的需要写上传代码

4.把得到的文件名返回给ckeditor
如果上传失败:

        string fileName, errMsg = "test error: 'it is just a test'";
        fileName = "";
        errMsg = errMsg.Replace("'", "\\'");
        Response.Write(String.Format("<script type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction({0}, '{1}', '{2}');</script>",
            Request.QueryString["CKEditorFuncNum"],
            fileName,
            errMsg));

如果上传成功:

        string fileName = "http://www.baidu.com/img/baidu_sylogo1.gif", errMsg = "";
        Response.Write(String.Format("<script type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction({0}, '{1}', '{2}');</script>",
            Request.QueryString["CKEditorFuncNum"],
            fileName,
            errMsg));

这个可以看这里:http://zerokspot.com/weblog/2009/09/09/custom-filebrowser-callbacks-ckeditor/

如果是浏览服务器时,选中了一个文件要返回,调用的脚本是:

window.opener.CKEDITOR.tools.callFunction(CKEditorFuncNum, url);

如果是上传完,要把文件地址返回给ckeditor,调用的脚本是:

window.parent.CKEDITOR.tools.callFunction(CKEditorFuncNum, url, errorMessage);

这里就是上传了,如果成功,设置errorMessage = "",给出文件地址,如果失败,设置url = "",给出出错的消息,ckeditor会alert出这个消息

就这几步,自已的上传页面就可以和CKEditor整合起来了,喜欢怎么上传都可以,自已上个够好了

小楼宝宝的涂鸦花花(Imitater)的博客起名称骨测字