html编辑器 自动上传文件,修改fckeditor的文件上传功能步骤

1、要点击链接,然后点击里面的上传tab,不熟悉的人可能找不到这个上传功能

2、插入的就是1个链接,我希望插入链接的同时插入1个图片代表文件类型

效果图:

20090210220057162.JPG

20090210220057115.JPG

修改fckconfig.js

1. 在FCKConfig.ToolbarSets["Default"] = 中加入'FuJian',位置自己选

2. 最后加上2句

// 附件上传地址

FCKConfig.FuJianUrl = "/FckEdit/upload.jsp";

// 上传的文件类型

FCKConfig.FuJianAllowedExtensions = ".(doc|xls|ppt|pdf|rar|zip)$";

3. 在对应的语言包中加上:

FuJian : "附件"

4. 修改JS/fckeditorcode_gecko.js 和JS/fckeditorcode_ie.js

注:这2个文件是被压缩过的,在netbeans中点击格式化代码就会解压缩。

5. 在文件中找到:case 'Image':B=new FCKDialogCommand('Image',FCKLang.DlgImgTitle,'dialog/fck_image.html',450,390);

在这句前面加上:

case 'FuJian':B=new FCKDialogCommand('FuJian',FCKLang.FuJian,'dialog/fck_fujian.html',450,200);break;

(这句表示点击"附件"按钮的时候要弹出dialog/fck_fujian.html页面,450,200分别是宽,高)。

再找

case 'Image':B=new FCKToolbarButton('Image',FCKLang.InsertImageLbl,FCKLang.InsertImage,null,false,true,37);

在前面加上:

case 'FuJian':B=new FCKToolbarButton('FuJian',FCKLang.FuJian,null,null,false,true,77);break;

77是附件在工具栏上要显示的图标的索引,

图标文件在:editor/skins/default/fck_strip.gif 文件,图标都是16×16的.

到这里按钮已经能显示出来了,下面是fck_image.html的代码:

Upload

选择上传的文件

document.write( '' ) ;

// -->

fck_fujian.js代码:

/*

* 功能:上传附件

*/

// 显示页面

var dialog = window.parent ;

var oEditor = dialog.InnerDialogLoaded() ;

var FCK = oEditor.FCK ;

var FCKLang = oEditor.FCKLang ;

var FCKConfig = oEditor.FCKConfig ;

var FCKRegexLib = oEditor.FCKRegexLib ;

var FCKTools = oEditor.FCKTools ;

dialog.AddTab('Upload', FCKLang.FuJian,true) ;

window.onload = function(){

GetE('frmUpload').action = FCKConfig.FuJianUrl;

// 显示

GetE('divUpload').style.display = '' ;

}

var oUploadAllowedExtRegex = new RegExp( FCKConfig.FuJianAllowedExtensions, 'i' ) ;

function CheckUpload(){

var sFile = GetE('txtUploadFile').value ;

if ( sFile.length == 0 ){

alert( '请选择1个文件上传' ) ;

return false ;

}

if ( FCKConfig.FuJianAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ))

{

OnUploadCompleted( 202 ) ;

return false ;

}

// Show animation

window.parent.Throbber.Show( 100 ) ;

GetE( 'divUpload' ).style.display = 'none' ;

return true ;

}

// 上传完毕

function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg){

// Remove animation

window.parent.Throbber.Hide() ;

GetE( 'divUpload' ).style.display = '' ;

switch (errorNumber){

case 0 : // No errors

//alert( 'Your file has been successfully uploaded' ) ;

insertFile(fileUrl,fileName)

break ;

case 1 : // Custom error

alert( customMsg ) ;

return ;

case 101 : // Custom warning

alert( customMsg ) ;

break ;

case 201 :

alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;

break ;

case 202 :

alert( '不支持的文件类型' ) ;

return ;

case 203 :

alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;

return ;

case 500 :

alert( 'The connector is disabled' ) ;

break ;

default :

alert( 'Error on file upload. Error number: ' + errorNumber ) ;

return ;

}

}

function insertFile(fileUrl,fileName){

imgPath = getFileImg(fileName);

// 插入HTML

var html = "

";

oEditor.FCK.InsertHtml(html);

// 关闭页面

dialog.Cancel();

}

function getFileImg(fileName){

var path = FCKConfig.BasePath + "file/";

index = fileName.lastIndexOf(".");

if(index == -1)

return path + "unknow.gif";

ext = fileName.substr(index+1);

switch(ext.toLowerCase()){

case "doc":

path += "doc.gif"

break;

case "pdf":

path += "pdf.gif"

break;

case "ppt":

path += "ppt.gif"

break;

case "xls":

path += "xls.gif"

break;

case "rar":

path += "rar.gif"

break;

case "zip":

path += "zip.gif"

break;

default:

path += "unknow.gif"

break;

}

return path;

}

最近做了一个文章管理的系统,用到在线编辑器修改了一下现在能实现音频,视频,图片,附件,Flash等文件上传。费了好大的功夫。。 FCKeditor应用在ASP.NET上,需要两组文件,一组是FCKeditor本身,另一个是用于ASP.NET的FCKeditor控件(分为1.1和2.0两个版本,这里使用2.0版本)。 1. 将FCKeditor加入到项目中 解压FCKeditor编辑器,得到文件fckeditor,复制此文件夹到Web应用的项目下(也可以是子孙目录下)。 解压FCKeditor控件,在其子目录bin/Release/2.0下有一个程序集。在Web应用的项目中引用该程序集。 2. 在页面中使用FCKeditor 有两种方式。 (1)手工编码 在页面中加入ASP.NET指令: 然后在需要的地方加入FCKeditor控件: (2)集成到Visual Studio工具箱 打开一ASP.NET页面,展开Toolbox,打开右键菜单,选择“Choose Items ...”,在出现的“Choose Toolbox Items”会话框的“.NET Framework Components”选项卡中选择“Browse”,找到并选中FCKeditor程序集,打开后回到“Choose Toolbox Items”窗口,点击“OK”,完成控件导入。 这时,在Toolbox的General分类下出现了一个名为FCKeditor的控件,可以像使用Visual Studio内置控件一样使用它。 3. 配置FCKeditor编辑器路径 在页面中,使用的是FCKeditor控件,该控件需要知道FCKeditor编辑器文件组的路径。有两种配置方法。 (1)配置web.config 在appSettings配置节中加入 使用这种配置方法后,对于项目中任何一个页面中用到的FCKeditor控件,都不用再配置其BasePath属性。 (2)直接对用到的FCKeditor控件进行配置 在页面代码中设置FCKeditor的属性BasePath为FCKeditor编辑器文件组的路径,或者在Page_Init事件处理器中设置其BasePath的值。 4. 配置FCKeditor编辑器文件上传路径 在web.config的appSettings配置节中加入 或者 这样,就完成了FCKeditor向ASP.NET页面的集成工作。 二、配置FCKeditor 按照FCKeditor的默认配置,可以完成一些常用的HTML可视化编辑工作,但在实际应用中,还需要对其做进一步的配置。FCKeditor控件的可配置属性不多,且配置后只能作用于一个单一实例。实际上,需要对FCKeditor编辑器文件组中的通用配置文件/fckconfig.js和ASP.NET专用文件上传管理代码文件/editor/filemanager/connectors/aspx/config.ascx进行配置。 1. 配置控件语言 FCKeditor是自动探测浏览器所使用的语言编码的,其默认语言是英文。修改配置行"FCKConfig.DefaultLanguage = 'en';"为'zh-cn',采用中文为默认语言。 2. 配置控件应用技术 FCKeditor默认是用于php技术的。修改配置行"var _FileBrowserLanguage = 'php';"和"var _
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值