通过HttpModule设置fckeditor分目录上传的问题

lovebaby 2012-01-12 10:37:52
已知通过如下代码:
Session["FCKeditor:UserFilesPath"] = "~/cn/UploadFile/";

可以设置fckeditor的上传文件路径

我现在的需求是中英文网站,根目录为英文网站,有一个UploadFile存放英文网站上传的图片,中文网站在英文网站的根目录下:/cn/,相应中文网站下也有一个UploadFile存放中文网站上传的图片。

我想通过自定义HttpModule,来实现通过判断URL自动设置Fckeditor的UserFilesPath,以实现自动区分Fckeditor的上传目录。
代码如下:

public class FckUploadConfig : IHttpModule

{
private void Application_AcquireRequestState(object sender, EventArgs e)
{

HttpApplication application = (HttpApplication)sender;

HttpContext context = application.Context;

HttpRequest request = application.Request;

HttpResponse response = application.Response;

context.Session["FCKeditor:UserFilesPath"] = null;

if (request.Path.ToLower().IndexOf("cn/admin") > 0)
{
context.Session["FCKeditor:UserFilesPath"] = "~/cn/UploadFile/";
}
}

public void Dispose()

{ }

public void Init(HttpApplication application)
{
application.AcquireRequestState +=new EventHandler(Application_AcquireRequestState);
}
}


通过上述代码,在单独打开IE的情况下,单独上传中文或英文的文件,文件是分目录存放的,但问题是,如果在同一个IE中先打开英文网站上传---正确,修改URL到中文上传---正常,再修改URL返回英文则不正常。应该是SESSION设置的问题,但绕了半天也绕不出去了。
...全文
32 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiuhexuan 2012-01-13
  • 打赏
  • 举报
回复
if (request.Path.ToLower().IndexOf("cn/admin") > 0)
{
context.Session["FCKeditor:UserFilesPath"] = "~/cn/UploadFile/";
}
else
{
context.Session["FCKeditor:UserFilesPath"] = "~/UploadFile/";
}
少了个else逻辑,session不会被修改会英文目录
lovebaby 2012-01-12
  • 打赏
  • 举报
回复
上面代码应该把context.Session["FCKeditor:UserFilesPath"] = null;注释掉才能达到我说的效果,否则中文和英文的上传目录都为/UploadFile/,即根目录的UploadFile

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧