這三種情況下所得到的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'替換成‘..',這樣即使移動網站也不用修改資料庫的圖片路徑了