前几天和老师做一个项目,在本地机上好好的,FCKEditor两种上传图片的方式都可以用,可发布了以后直接在上传图片页面的“上传”选项卡中上传图片却无法成功(那几个方块一直闪,始终等不到上传成功的消息框),后来发现只要一点这个页面的上传按钮,浏览器就会出现javascript脚本错误,打开一看,说“权限不足”,明明在本地机都好好的啊,web.config中也配置了上传路径,而且第一种浏览服务器中上传的方式就可以啊。“真是奇了怪!”后来老师发现这两种方式上传的图片路径不一样,第一种在浏览服务器中上传的图片上传到配置文件设置的那个文件夹UploadFiles(我们的这个文件夹在网站根目录下)的image下(如果没有则自动创建这个image文件夹,但用户设置的保存上传文件的文件夹UploadFiles一定要事先建好,不然会找不到路径),而第二种在上传选项卡中上传的图片直接被保存到UploadFiles中,而不是保存到其下的image文件夹里。找到问题了,可是当时不知在哪改。今天费尽一番周折终于被我发现了,其实很简单,害我还修改了源码重新生成了dll文件,倒是上传到UploadFiles下的image文件夹中去了,可是引用却不对,图片也出不来。
最终解决办法如下:
修改 fckeditor/editor/filemanager/connectors/aspx/config.ascx 文件中
TypeConfig[ "Image" ].QuickUploadPath = "%UserFilesPath%/";
为
TypeConfig[ "Image" ].QuickUploadPath = "%UserFilesPath%image/";
这样两种方式上传的图片都到UploadFiles下的image文件夹中了,当然做着个修改之前,应先把FCKEditor配置好,在本地机上两种方式都已经可以上传图片了才行,主要就两个地方,一是fckconfig.js中的语言要改为aspx,二是web.config中要配置用户上传文件的路径,如下:
1.fckconfig.js中要改
2.web.config中要改
web.config中FCKeditor:BasePath配置的是FCKEditor的基路径,一般放在网站根目录下。FCKeditor:UserFilesPath配置的是FCKEditor用户上传的文件的存放路径,格式为“项目名/用户文件路径”,当然用户文件路径也是相对于网站根目录的。