CKEDITORを使用しているのですが、ユーザーがテキストエディタに画像をアップロードしたり埋め込んだりできるようにしたいのですが...。
以下のJSは、CKEDITORをロードするものです。
CKEDITOR.replace( 'meeting_notes',
{
startupFocus : true,
toolbar :
[
['ajaxsave'],
['Bold', 'Italic', 'Underline', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink' ],
['Cut','Copy','Paste','PasteText'],
['Undo','Redo','-','RemoveFormat'],
['TextColor','BGColor'],
['Maximize', 'Image']
],
filebrowserUploadUrl : '/notes/add/ajax/upload-inline-image/index.cfm'
}
);
私が行き詰まっているのはfilebrowserUploadUrlです。このプロセスを動作させるために、このURLはCKEDITORに何を返せばいいのでしょうか?
ありがとうございます。
URLは、あなたがお持ちのカスタムファイルブラウザのURLを指すようにしてください。
私のプロジェクトではすでにこれを行っており、このトピックに関するチュートリアルを私のブログに掲載しています。
http://www.mixedwaves.com/2010/02/integrating-fckeditor-filemanager-in-ckeditor/
このチュートリアルでは、FCKEditorに内蔵されているFileBrowserをCKEditorに統合する方法を順を追って説明しています。とても簡単です。
私の最近の課題は、CKEditorで画像をアップロードするためにCKFinderをどのように統合するかでした。解決策は以下の通りです。
1.CKEditorをダウンロードし、Webフォルダのルートに解凍します。
2.CKFinderをダウンロードして、CKEDITORフォルダの中に解凍します。
3.3.CKEditorとCKFinderにリファレンスを追加して、その中に
<CKEditor:CKEditorControl ID="CKEditorControl1" runat="server">/CKEditor:CKEditorControl>
を aspx ページに追加します。
4.ページのOnLoadイベントの後ろのコードに、以下のコードを追加します。
protected override void OnLoad(EventArgs e)
{
CKFinder.FileBrowser _FileBrowser = new CKFinder.FileBrowser();
_FileBrowser.BasePath = "ckeditor/ckfinder/";
_FileBrowser.SetupCKEditor(CKEditorControl1);
}
5.Confic.ascxファイルを編集する。
public override bool CheckAuthentication()
{
trueを返します。
}
// 画像ファイルの追加チェックを行う。
SecureImageUploads = true;
(ソース)
このURLは、あなた自身のサーバーサイドのファイルアップロードアクションを指します。 ドキュメントにはあまり詳しく書かれていませんが、幸いなことに、Don Jones氏がここで空白の部分を埋めてくれています。
こちらもご覧ください。
http://zerokspot.com/weblog/2009/09/09/custom-filebrowser-callbacks-ckeditor/