整合ckeditor+ckfinder,解决上传文件路径问题
这三种情况下所得到的server.MapPath是一致的,这就导致上传之后写入数据库的图片地址和实际图片存储地址不一致,因此,我们需要自定义一个路径地址userDir,让baseUrl只管写入数据库的图片地址,而创建的新目录baseDir为另外一个。。。。这样不管你的网站通过怎样的方式访问都是OK的,这个问题郁闷了很久才解决
asp的config.asp修改如下:
Dim baseUrl, baseDir, userDir
baseUrl = "../ckfinder/userfiles/"
userDir="..\..\..\userfiles"
baseDir = server.MapPath(userDir) & "\"
至于 Unable to find an image manipulation component错误,原因很可能是生成缩略图的代码在.net framework4.0 版本上有点问题,除了要对ckfinder/userfiles文件夹赋予everyone完全控制权限,并根据千一网络的解决办法
· 若不使用缩略图功能:直接把 config.asp 中的 Thumbnails.Add "enabled", true 的第二个参数改为 false。
· 若要使用缩略图功能:可安装 ASP.NET 1.1/2.0 或 AspJpet 或 ASPImage 2 或 ASPThumb。对于 ASP.NET:
o 如果有错误,根据说明改 web.config 和 config.asp 中的 CKFinderTempPath 路径(注意以“\”结尾,并且在 web.config 中,要用“\\”代替“\”);
o 如果还有错误,那么您就在浏览器中直接访问 http://.../ckfinder/core/connector/asp/loopback.aspx 看看能不能运行 ASP.NET,我遇到过一个错误就是 .NET 版本原因造成的,请参见 .NET Framework 4.0 无法运行 2.0 的 ASP.NET 程序解决。说明,若显示“403 - Forbidden”,说明 ASP.NET 已经运行起来了。
我自己修改的时候是所设置的路径值必须一样,如CKFinderTempPath =":\外师外语系\web\ckfinder\userfiles”,web.config的value也是一样,但我自己的电脑的这个问题能很好解决,而另一台服务器还依然有问题,郁闷之后由于赶时间还是乖乖的换成了fckeditor2.6.5,这回又涉及到了路径问题,因为默认的设置是基于网站根目录,根本不能适应随地使用的需要,花了好多功夫最后找到了一个解决办法,:
' 存放图片路径依然是基于站点,
Dim ConfigUserFilesPath
ConfigUserFilesPath = "/web/web1/userfiles/"
但我们可以改变写进数据库的图片地址,可以用replace将‘/web/web1'替换成‘..',这样即使移动网站也不用修改数据库的图片路径了