asp.net 使用ckfinder 不弹窗直接上传图片、文件。


步骤一:复制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引图,是一个文本框控件,是上传图片后,所得到的所上传的文件的返回路径值。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值