源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 588|回复: 17

[网页编辑器] ASp.net下fckeditor配置图片上传最简单的方法

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2010-1-13 03:45:39 | 显示全部楼层 |阅读模式
fckeditor 的基本配置我就不讲了,讲讲图片上传这块吧;
        
        
            1. 原先的配置
把 fckeditor/filemanager/connectors 目录删除;
有同学可能会问了,都删除了怎么上传文件?
呵呵。。。
2. 不要引用 FredCK.FCKeditorV2.dll;
因为我都是采用js写的,不采用控件的方式;
其实网上有很多人在尝试往 fckeditor/filemanager/connectors目录下注入,
确实也有人不小心直接把FCK编辑器没有任何配置的情况下传到网上导致中招了;
3. 现在讲正题吧,一般来说我们用FCK的时候并不多,在一个系统里面可能也就几个地方
现在假如我有一个简单的系统,里面有“新闻”发布和,类似“公司简介”单页发布两个地方要用的FCK
我要把所有文章的图片放到 /Article/yyyyMMdd/guid.jpg
把所有单页的图片放到 /Page/yyyyMMdd/guid.jpg
或者说我要把图片按用户存到不同的地方。。。
4.实现
怎么很简单的事情要说清楚需要做这么多铺垫,太麻烦了。。。。!!!
web页面:
代码
[U]复制代码[/U] 代码如下:



  






JS:
代码
[U]复制代码[/U] 代码如下:



这样就搞定了!
不要不相信啊,下面把上传页面的代码简单的写一个吧,对这个也比较重要;
代码
[U]复制代码[/U] 代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Files.Count > 0)
{
HttpPostedFile file = Request.Files[0];
string path = "/Article/" + System.DateTime.Now.ToString("yyyyMMdd") + "/";
string serverPath = Server.MapPath(path);
string fileName = Guid.NewGuid() + file.FileName.Substring(file.FileName.LastIndexOf("."));
if (!System.IO.Directory.Exists(serverPath))
System.IO.Directory.CreateDirectory(serverPath);
file.SaveAs(serverPath + fileName);
SendFileUploadResponse(0, path + fileName, fileName, "上传成功!");
}
else
{
SendFileUploadResponse(1, "", "", "上传失败!");
}
}
public void SendFileUploadResponse(int isSucceed, string fileUrl, string fileName, string customMsg)
{
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Write("");
System.Web.HttpContext.Current.Response.End();
}

好了搞定了!
这个上传代码没有做严格的后缀限制,大小限制;因为这个页面路径是我们自己配置的嘛,想怎么写就怎么写了;
甚至你可以根据不同的用户存到不同的地方;
这里需要说明一下 SendFileUploadResponse 方法,其实就是为FCk传回消息;
这里:
System.Web.HttpContext.Current.Response.Write("window.parent.OnUploadCompleted(" + isSucceed.ToString().ToLower() + ", '" + fileUrl + "', '" + fileName + "', '" + customMsg + "');");
对应的是
fckeditor/dialog/fck_image/fck_image.js
代码
[U]复制代码[/U] 代码如下:
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' ) ;
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( 'Invalid file type' ) ;
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 ;
}
sActualBrowser = '' ;
SetUrl( fileUrl ) ;
GetE('frmUpload').reset() ;
}

注意到 0 ,是成功,1 是失败,其他的自己看吧。。。。
对了说明一下这里用的是 2.65 版本测试的,如果有其他版本不一样的灵活变通下哈;
总结一下:
1. 在不同的页面配置不同的图片处理路径,如:
oFCKeditor.Config.ImageUploadURL = "/admin/aupload.aspx";
oFCKeditor.Config.ImageUploadURL = "/admin/bupload.aspx";
。。。。
2. FCk 会把图片post到指定的路径,
然后你自己操作图片,按目录存啊还是按当前用户session存随便来;
当然别忘记验证用户的身份在先,没有权限的不要对他客气,直接返回错误,
验证身份示例代码里面没写,自己根据项目自己加吧
3. 一定要返回值告诉FCK你的操作结果,否则会一直死在那里的。。。
PS:
看来我不是个喜欢写东西的人,觉得很麻烦。。。
回复

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-10-7 05:00:32 | 显示全部楼层
你们谁看了弄洒了可能
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-11-15 13:35:23 | 显示全部楼层
的沙发水电费水电费
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

319

积分

中级会员

Rank: 3Rank: 3

积分
319
发表于 2022-12-19 05:38:23 | 显示全部楼层
啦啦啦啦啦啦啦啦!
回复 支持 反对

使用道具 举报

3

主题

2万

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2023-6-27 19:07:00 | 显示全部楼层
8888888888888888
回复 支持 反对

使用道具 举报

1

主题

1万

回帖

93

积分

注册会员

Rank: 2

积分
93
发表于 2023-10-31 18:01:57 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-11-24 08:03:44 | 显示全部楼层
哦哦哦哦哦哦哦哦哦
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

473

积分

中级会员

Rank: 3Rank: 3

积分
473
发表于 2024-5-8 16:38:25 | 显示全部楼层
我要金豆金豆金豆
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

362

积分

中级会员

Rank: 3Rank: 3

积分
362
发表于 2024-5-11 11:16:24 | 显示全部楼层
看到这帖子真是高兴!
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-6-21 03:14:36 | 显示全部楼层
看到这帖子真是高兴!
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-21 22:04 , Processed in 0.118719 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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