步骤一:复制QuickUploadCommandHandler.cs,比如复制出重命名为LwjUploadCommandHandler.cs
修改类名,以及构造。
将GetJavaScriptCode修改成下面代码:
protected override string GetJavaScriptCode( int errorNumber, string fileName, string fileUrl )
{
System.Web.HttpRequest _Request = System.Web.HttpContext.Current.Request;
string _CKEditorName = _Request.QueryString["CKEditor"];
string _errorMsg = "";
if ( _CKEditorName == null )
{
switch ( errorNumber )
{
case Errors.None:
case Errors.UploadedFileRenamed:
case Errors.UploadedInvalidNameRenamed:
return "window.parent.OnUploadCompleted(" + errorNumber + ",'" + fileUrl.Replace( "'", "\\'" ) + "','" + fileName.Replace( "'", "\\'" ) + "') ;";
default:
return "window.parent.OnUploadCompleted(" + errorNumber + ") ;";
}
}
else
{
if ( errorNumber > 0 )
{
_errorMsg = Lang.getErrorMessage( errorNumber ).Replace( "%1", fileName );
if ( errorNumber != Errors.UploadedFileRenamed )
fileUrl = "";
}
return "window.parent.document.getElementById(\"" + _CKEditorName + "\").value='" + fileUrl.Replace("'", "\\'") + "' ;";
}
}
步骤二:将Connector.cs中的
case "QuickUpload":
commandHandler = new CommandHandlers.QuickUploadCommandHandler();
break;
下面增加
case "LwjUpload":
commandHandler = new CommandHandlers.LwjUploadCommandHandler();
break;
步骤三:
新建一个upload.aspx
内容如下:
<div>
<form dir="ltr" lang="zh-cn" encType="multipart/form-data" method="post" action="/ckfinder/core/connector/aspx/connector.aspx?command=LwjUpload&type=Files&CKEditor=<%=Request.QueryString["id"]%>&CKEditorFuncNum=0&langCode=zh-cn">
<input size="22" type="file" name="upload" data-cke-expando="266" value="" />
<input name="提交" type="submit" id="Button1" value="提交" />
</form>
</div>
然后,在要加载上传功能的页面,中放置iframe
如:
<iframe src="upload.aspx?id=<%=this.txt引图.ClientID %>" frameBorder="0" style="width: 100%; height: 98%;"></iframe>
其中:
txt引图,是一个文本框控件,是上传图片后,所得到的所上传的文件的返回路径值。