FCKeditor 內建圖片上傳僅支援「上傳→回傳 URL」,無法瀏覽/刪除/重用已上傳檔案,導致寫文時必須「上傳→記住路徑→手工輸入 URL」,體驗極差。
dialog/fck_image.html。POST 至伺服器上傳頁面(action 屬性)。window.parent.OnUploadCompleted(url)。<img src="url">。FCKConfig.ImageUploadURL = "/CustomUpload/ImageUpload.aspx"; // 自訂上傳頁面
修改此值即可導向自製上傳頁面,完全掌控上傳邏輯。
window.onload = function() {
document.forms[0].action = FCKConfig.ImageUploadURL; // 執行期覆寫 action
};
對話框載入時讀取設定並套用至表單,故只需改設定檔,無需動編輯器原始碼。
// ImageUpload.aspx.cs
protected void Page_Load(object sender, EventArgs e) {
if (Request.Files.Count > 0) {
HttpPostedFile file = Request.Files[0];
string savePath = Server.MapPath("~/Uploads/Images/");
string fileName = Guid.NewGuid() + Path.GetExtension(file.FileName);
file.SaveAs(Path.Combine(savePath, fileName));
string url = "/Uploads/Images/" + fileName;
// 回傳 JS 通知編輯器
Response.ContentType = "text/html";
Response.Write("");
Response.End();
}
}
FileManager.aspx:列出 ~/Uploads/Images/ 所有圖片,支援縮圖預覽、勾選刪除、雙擊插入。fck_image.html:加入「瀏覽伺服器」按鈕,彈出 FileManager.aspx(window.open 或 showModalDialog)。FileManager.aspx 選取圖片後呼叫 window.opener.SetUrl(url) 回填編輯器對話框 URL 欄位。web.config httpRuntime maxRequestLength)。


透過修改設定檔與自製上傳/管理頁面,FCKeditor 瞬間擁有專業級圖片管理能力,大幅提升內容編輯效率。