1. 首页 > 电脑教程 > .NET下FCKeditor动态设置不同用户使用不同的文件上传路径

.NET下FCKeditor动态设置不同用户使用不同的文件上传路径

首先看一下FCKeditor是如何获取用户的文件夹路径设置的,以及获取的顺序:FCKeditor.net获取上传路径文件是:FileWorkerBase.cs,打开找到以下部分view plaincopy to clipboardprint?protected string UserFilesPath{get{if ( sUserFilesPath == null ){// 第一回从application["FCKeditor:UserFilesPath"] 中读取,如果没有尝试其它方式sUserFilesPath = (string)Application["FCKeditor:UserFilesPath"] ; // 第二回从session["FCKeditor:UserFilesPath"] 中读取,如果没有尝试其它方式if ( sUserFilesPath == null || sUserFilesPath.Length == 0 ){sUserFilesPath = (string)Session["FCKeditor:UserFilesPath"] ; // 第三回从web.config中读取,如果没有尝试其它方式if ( sUserFilesPath == null || sUserFilesPath.Length == 0 ){sUserFilesPath = System.Configuration.ConfigurationSettings.Appsettings["FCKeditor:UserFilesPath"] ; // 第四回从DEFAULT_USER_FILES_PATH(这个变量在同文件中)中读取,如果没有尝试其它方式if ( sUserFilesPath == null || sUserFilesPath.Length == 0 )sUserFilesPath = DEFAULT_USER_FILES_PATH ;// 第五回从网址参数ServerPath中读取if ( sUserFilesPath == null || sUserFilesPath.Length == 0 ){sUserFilesPath = Request.QueryString["ServerPath"] ;}}}// Check that the user path ends with slash ("/")if ( ! sUserFilesPath.EndsWith("/") )sUserFilesPath += "/" ;}return sUserFilesPath ;}}protected string UserFilesPath{get{if ( sUserFilesPath == null ){// 第一回从Application["FCKeditor:UserFilesPath"] 中读取,如果没有尝试其它方式sUserFilesPath = (string)Application["FCKeditor:UserFilesPath"] ;// 第二回从Session["FCKeditor:UserFilesPath"] 中读取,如果没有尝试其它方式if ( sUserFilesPath == null || sUserFilesPath.Length == 0 ){sUserFilesPath = (string)Session["FCKeditor:UserFilesPath"] ;// 第三回从web.config中读取,如果没有尝试其它方式if ( sUserFilesPath == null || sUserFilesPath.Length == 0 ){sUserFilesPath = System.Configuration.ConfigurationSettings.AppSettings["FCKeditor:UserFilesPath"] ;// 第四回从DEFAULT_USER_FILES_PATH(这个变量在同文件中)中读取,如果没有尝试其它方式if ( sUserFilesPath == null || sUserFilesPath.Length == 0 )sUserFilesPath = DEFAULT_USER_FILES_PATH ;// 第五回从网址参数ServerPath中读取if ( sUserFilesPath == null || sUserFilesPath.Length == 0 ){sUserFilesPath = Request.QueryString["ServerPath"] ;}}}// Check that the user path ends with slash ("/")if ( ! sUserFilesPath.EndsWith("/") )sUserFilesPath += "/" ;}return sUserFilesPath ;}}所以我们只要在Session中指定了路径就可以实现动态路径或多用户多路径了,下面看我的代码:protected void Page_Load(object sender, EventArgs e){Session["UserID"] = "12345679";string URL = Session["UserID"].ToString();Session["FCKeditor:UserFilesPath"]="~/factory/" + URL + "/UpLoadFile/";}在页面载入时设置用户的Session["UserID"],为不同用户指定一个ID,然后设置一下文件要上传了路径,动态的路径Session["FCKeditor:UserFilesPath"]是用Session["UserID"]结合我们的网站目录生成的一个路径。当然也可以直接在Session指定一个路径,然后赋值给Session["FCKeditor:UserFilesPath"]。至此,我们简单的解决了fckeditor动态设置文件上传路径,解决多用户多路径的问题。

声明:希维路由器教程网提供的内容,仅供网友学习交流,如有侵权请与我们联系删除,谢谢。ihuangque@qq.com
本文地址:https://www.ctrlcv.com.cn/diannao/169323123710604.html